From 19239a6890f2d26368ca181d33fd0eb7dede3ae6 Mon Sep 17 00:00:00 2001 From: Anuken Date: Tue, 31 Mar 2020 19:39:14 -0400 Subject: [PATCH] More cleanup --- core/assets/shaders/planet.vert | 1 + core/src/mindustry/editor/EditorTile.java | 52 ++++++++---------- core/src/mindustry/editor/MapEditor.java | 55 ++++--------------- .../mindustry/editor/MapGenerateDialog.java | 1 - core/src/mindustry/editor/MapRenderer.java | 9 +-- .../src/mindustry/graphics/FloorRenderer.java | 2 +- .../maps/generators/FileMapGenerator.java | 1 - .../maps/planet/TODOPlanetGenerator.java | 4 +- 8 files changed, 44 insertions(+), 81 deletions(-) diff --git a/core/assets/shaders/planet.vert b/core/assets/shaders/planet.vert index 5fd51806d7..32f4605cb3 100755 --- a/core/assets/shaders/planet.vert +++ b/core/assets/shaders/planet.vert @@ -5,6 +5,7 @@ attribute vec4 a_color; uniform mat4 u_proj; uniform mat4 u_trans; uniform vec3 u_lightdir; +//uniform vec3 u_camdir; uniform vec3 u_ambientColor; varying vec4 v_col; diff --git a/core/src/mindustry/editor/EditorTile.java b/core/src/mindustry/editor/EditorTile.java index b53e951e75..f4085a2876 100644 --- a/core/src/mindustry/editor/EditorTile.java +++ b/core/src/mindustry/editor/EditorTile.java @@ -1,18 +1,15 @@ package mindustry.editor; import arc.util.ArcAnnotate.*; -import mindustry.content.Blocks; -import mindustry.core.GameState.State; -import mindustry.editor.DrawOperation.OpType; -import mindustry.game.Team; -import mindustry.gen.TileOp; -import mindustry.world.Block; -import mindustry.world.Tile; +import mindustry.content.*; +import mindustry.editor.DrawOperation.*; +import mindustry.game.*; +import mindustry.gen.*; +import mindustry.world.*; import mindustry.world.blocks.environment.*; import mindustry.world.modules.*; -import static mindustry.Vars.state; -import static mindustry.Vars.ui; +import static mindustry.Vars.*; public class EditorTile extends Tile{ @@ -22,7 +19,7 @@ public class EditorTile extends Tile{ @Override public void setFloor(@NonNull Floor type){ - if(state.is(State.playing)){ + if(state.isGame()){ super.setFloor(type); return; } @@ -43,7 +40,7 @@ public class EditorTile extends Tile{ @Override public void setBlock(Block type, Team team, int rotation){ - if(state.is(State.playing)){ + if(state.isGame()){ super.setBlock(type, team, rotation); return; } @@ -56,7 +53,7 @@ public class EditorTile extends Tile{ @Override public void setTeam(Team team){ - if(state.is(State.playing)){ + if(state.isGame()){ super.setTeam(team); return; } @@ -68,7 +65,7 @@ public class EditorTile extends Tile{ @Override public void rotation(int rotation){ - if(state.is(State.playing)){ + if(state.isGame()){ super.rotation(rotation); return; } @@ -80,7 +77,7 @@ public class EditorTile extends Tile{ @Override public void setOverlay(Block overlay){ - if(state.is(State.playing)){ + if(state.isGame()){ super.setOverlay(overlay); return; } @@ -93,31 +90,28 @@ public class EditorTile extends Tile{ @Override protected void preChanged(){ - if(state.is(State.playing)){ - super.preChanged(); - return; - } - - super.setTeam(Team.derelict); + super.preChanged(); } + @Override + public void recache(){ + if(state.isGame()){ + super.recache(); + } + } + @Override protected void changed(Team team){ - if(state.is(State.playing)){ + if(state.isGame()){ super.changed(team); return; } entity = null; - if(block == null){ - block = Blocks.air; - } - - if(floor == null){ - floor = (Floor)Blocks.air; - } - + if(block == null) block = Blocks.air; + if(floor == null) floor = (Floor)Blocks.air; + Block block = block(); if(block.hasEntity()){ diff --git a/core/src/mindustry/editor/MapEditor.java b/core/src/mindustry/editor/MapEditor.java index 9e13e7881b..8c743ad11f 100644 --- a/core/src/mindustry/editor/MapEditor.java +++ b/core/src/mindustry/editor/MapEditor.java @@ -1,17 +1,15 @@ package mindustry.editor; -import arc.struct.StringMap; -import arc.files.Fi; -import arc.func.Cons; -import arc.func.Boolf; -import arc.graphics.Pixmap; -import arc.math.Mathf; -import arc.util.Structs; -import mindustry.content.Blocks; -import mindustry.game.Team; -import mindustry.gen.TileOp; -import mindustry.io.MapIO; -import mindustry.maps.Map; +import arc.files.*; +import arc.func.*; +import arc.graphics.*; +import arc.math.*; +import arc.struct.*; +import mindustry.content.*; +import mindustry.game.*; +import mindustry.gen.*; +import mindustry.io.*; +import mindustry.maps.*; import mindustry.world.*; import static mindustry.Vars.*; @@ -126,31 +124,6 @@ public class MapEditor{ if(drawBlock.isMultiblock()){ x = Mathf.clamp(x, (drawBlock.size - 1) / 2, width() - drawBlock.size / 2 - 1); y = Mathf.clamp(y, (drawBlock.size - 1) / 2, height() - drawBlock.size / 2 - 1); - - int offsetx = -(drawBlock.size - 1) / 2; - int offsety = -(drawBlock.size - 1) / 2; - - //TODO this is completely unnecessary now! - for(int dx = 0; dx < drawBlock.size; dx++){ - for(int dy = 0; dy < drawBlock.size; dy++){ - int worldx = dx + offsetx + x; - int worldy = dy + offsety + y; - - if(Structs.inBounds(worldx, worldy, width(), height())){ - Tile tile = tile(worldx, worldy); - - Block block = tile.block(); - - //bail out if there's anything blocking the way - if(block.isMultiblock()){ - return; - } - - renderer.updatePoint(worldx, worldy); - } - } - } - tile(x, y).setBlock(drawBlock, drawTeam, 0); }else{ boolean isFloor = drawBlock.isFloor() && drawBlock != Blocks.air; @@ -158,12 +131,6 @@ public class MapEditor{ Cons drawer = tile -> { if(!tester.get(tile)) return; - //remove linked tiles blocking the way - //TODO also unnecessary - //if(!isFloor && (tile.isLinked() || tile.block().isMultiblock())){ - // tile.link().remove(); - //} - if(isFloor){ tile.setFloor(drawBlock.asFloor()); }else{ @@ -188,7 +155,7 @@ public class MapEditor{ public void drawCircle(int x, int y, Cons drawer){ for(int rx = -brushSize; rx <= brushSize; rx++){ for(int ry = -brushSize; ry <= brushSize; ry++){ - if(Mathf.dst2(rx, ry) <= (brushSize - 0.5f) * (brushSize - 0.5f)){ + if(Mathf.within(rx, ry, brushSize - 0.5f + 0.0001f)){ int wx = x + rx, wy = y + ry; if(wx < 0 || wy < 0 || wx >= width() || wy >= height()){ diff --git a/core/src/mindustry/editor/MapGenerateDialog.java b/core/src/mindustry/editor/MapGenerateDialog.java index cf2141b5c5..66de62325f 100644 --- a/core/src/mindustry/editor/MapGenerateDialog.java +++ b/core/src/mindustry/editor/MapGenerateDialog.java @@ -146,7 +146,6 @@ public class MapGenerateDialog extends FloatingDialog{ } //reset undo stack as generation... messes things up - editor.load(editor::checkLinkedTiles); editor.renderer().updateAll(); editor.clearOp(); } diff --git a/core/src/mindustry/editor/MapRenderer.java b/core/src/mindustry/editor/MapRenderer.java index de4f6bb122..54708f4cf5 100644 --- a/core/src/mindustry/editor/MapRenderer.java +++ b/core/src/mindustry/editor/MapRenderer.java @@ -118,9 +118,10 @@ public class MapRenderer implements Disposable{ int idxWall = (wx % chunkSize) + (wy % chunkSize) * chunkSize; int idxDecal = (wx % chunkSize) + (wy % chunkSize) * chunkSize + chunkSize * chunkSize; + boolean center = tile.isCenter(); if(wall != Blocks.air && wall.synthetic()){ - region = !Core.atlas.isFound(wall.editorIcon()) ? Core.atlas.find("clear-editor") : wall.editorIcon(); + region = !Core.atlas.isFound(wall.editorIcon()) || !center ? Core.atlas.find("clear-editor") : wall.editorIcon(); if(wall.rotate){ mesh.draw(idxWall, region, @@ -142,14 +143,14 @@ public class MapRenderer implements Disposable{ float offsetX = -(wall.size / 3) * tilesize, offsetY = -(wall.size / 3) * tilesize; - if(wall.update || wall.destructible){ + if((wall.update || wall.destructible) && center){ mesh.setColor(team.color); region = Core.atlas.find("block-border-editor"); - }else if(!wall.synthetic() && wall != Blocks.air){ + }else if(!wall.synthetic() && wall != Blocks.air && center){ region = !Core.atlas.isFound(wall.editorIcon()) ? Core.atlas.find("clear-editor") : wall.editorIcon(); offsetX = tilesize / 2f - region.getWidth() / 2f * Draw.scl; offsetY = tilesize / 2f - region.getHeight() / 2f * Draw.scl; - }else if(wall == Blocks.air && tile.overlay() != null){ + }else if(wall == Blocks.air){ region = tile.overlay().editorVariantRegions()[Mathf.randomSeed(idxWall, 0, tile.overlay().editorVariantRegions().length - 1)]; }else{ region = Core.atlas.find("clear-editor"); diff --git a/core/src/mindustry/graphics/FloorRenderer.java b/core/src/mindustry/graphics/FloorRenderer.java index a87d26ff19..f66488a689 100644 --- a/core/src/mindustry/graphics/FloorRenderer.java +++ b/core/src/mindustry/graphics/FloorRenderer.java @@ -241,7 +241,7 @@ public class FloorRenderer implements Disposable{ } } - Log.info("Time to cache: {0}", Time.elapsed()); + Log.debug("Time to cache: {0}", Time.elapsed()); } @Override diff --git a/core/src/mindustry/maps/generators/FileMapGenerator.java b/core/src/mindustry/maps/generators/FileMapGenerator.java index d299a2604c..8b3ae29c2f 100644 --- a/core/src/mindustry/maps/generators/FileMapGenerator.java +++ b/core/src/mindustry/maps/generators/FileMapGenerator.java @@ -60,7 +60,6 @@ public class FileMapGenerator implements WorldGenerator{ throw new IllegalArgumentException("All zone maps must have a core."); } - world.prepareTiles(tiles); state.map = map; } } diff --git a/core/src/mindustry/maps/planet/TODOPlanetGenerator.java b/core/src/mindustry/maps/planet/TODOPlanetGenerator.java index b1981abc94..c5d8201d97 100644 --- a/core/src/mindustry/maps/planet/TODOPlanetGenerator.java +++ b/core/src/mindustry/maps/planet/TODOPlanetGenerator.java @@ -59,7 +59,9 @@ public class TODOPlanetGenerator extends PlanetGenerator{ public Color getColor(Vec3 position){ Block block = getBlock(position); //replace salt with sand color - return block == Blocks.salt ? Blocks.sand.mapColor : block.mapColor; + if(block == Blocks.salt) return Blocks.sand.mapColor; + //return block.asFloor().isLiquid ? Tmp.c1.set(block.mapColor).a(0.5f) : block.mapColor; + return block.mapColor; } @Override