Added elevation tool
|
Before Width: | Height: | Size: 258 B |
|
Before Width: | Height: | Size: 156 B |
|
Before Width: | Height: | Size: 167 B After Width: | Height: | Size: 167 B |
|
Before Width: | Height: | Size: 161 B After Width: | Height: | Size: 162 B |
|
Before Width: | Height: | Size: 162 B After Width: | Height: | Size: 165 B |
BIN
core/assets-raw/sprites/ui/icons/icon-elevation.png
Normal file
|
After Width: | Height: | Size: 182 B |
|
Before Width: | Height: | Size: 111 KiB After Width: | Height: | Size: 112 KiB |
@@ -12,7 +12,7 @@ import io.anuke.mindustry.world.Tile;
|
|||||||
import io.anuke.mindustry.world.blocks.*;
|
import io.anuke.mindustry.world.blocks.*;
|
||||||
|
|
||||||
public class Blocks extends BlockList implements ContentList{
|
public class Blocks extends BlockList implements ContentList{
|
||||||
public static Block air, spawn, blockpart, space, metalfloor, deepwater, water, lava, oil, stone, blackstone, iron, lead, coal, titanium, thorium, dirt, sand, ice, snow, grass, sandblock, snowblock, stoneblock, blackstoneblock, grassblock, mossblock, shrub, rock, icerock, blackrock, dirtblock;
|
public static Block air, spawn, blockpart, space, metalfloor, deepwater, water, lava, oil, stone, blackstone, iron, lead, coal, titanium, thorium, dirt, sand, ice, snow, grass, shrub, rock, icerock, blackrock;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void load() {
|
public void load() {
|
||||||
@@ -138,35 +138,6 @@ public class Blocks extends BlockList implements ContentList{
|
|||||||
|
|
||||||
grass = new Floor("grass");
|
grass = new Floor("grass");
|
||||||
|
|
||||||
sandblock = new StaticBlock("sandblock") {{
|
|
||||||
solid = true;
|
|
||||||
variants = 3;
|
|
||||||
}};
|
|
||||||
|
|
||||||
snowblock = new StaticBlock("snowblock") {{
|
|
||||||
solid = true;
|
|
||||||
variants = 3;
|
|
||||||
}};
|
|
||||||
|
|
||||||
stoneblock = new StaticBlock("stoneblock") {{
|
|
||||||
solid = true;
|
|
||||||
variants = 3;
|
|
||||||
}};
|
|
||||||
|
|
||||||
blackstoneblock = new StaticBlock("blackstoneblock") {{
|
|
||||||
solid = true;
|
|
||||||
variants = 3;
|
|
||||||
}};
|
|
||||||
|
|
||||||
grassblock = new StaticBlock("grassblock") {{
|
|
||||||
solid = true;
|
|
||||||
variants = 2;
|
|
||||||
}};
|
|
||||||
|
|
||||||
mossblock = new StaticBlock("mossblock") {{
|
|
||||||
solid = true;
|
|
||||||
}};
|
|
||||||
|
|
||||||
shrub = new Rock("shrub");
|
shrub = new Rock("shrub");
|
||||||
|
|
||||||
rock = new Rock("rock") {{
|
rock = new Rock("rock") {{
|
||||||
@@ -183,9 +154,5 @@ public class Blocks extends BlockList implements ContentList{
|
|||||||
variants = 1;
|
variants = 1;
|
||||||
varyShadow = true;
|
varyShadow = true;
|
||||||
}};
|
}};
|
||||||
|
|
||||||
dirtblock = new StaticBlock("dirtblock") {{
|
|
||||||
solid = true;
|
|
||||||
}};
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -52,6 +52,17 @@ public enum EditorTool{
|
|||||||
editor.draw(x, y, Blocks.air);
|
editor.draw(x, y, Blocks.air);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
elevation{
|
||||||
|
{
|
||||||
|
edit = true;
|
||||||
|
draggable = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void touched(MapEditor editor, int x, int y){
|
||||||
|
editor.elevate(x, y);
|
||||||
|
}
|
||||||
|
},
|
||||||
line{
|
line{
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|||||||
@@ -182,6 +182,30 @@ public class MapEditor{
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void elevate(int x, int y){
|
||||||
|
if(x < 0 || y < 0 || x >= map.width() || y >= map.height()){
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
for (int rx = -brushSize; rx <= brushSize; rx++) {
|
||||||
|
for (int ry = -brushSize; ry <= brushSize; ry++) {
|
||||||
|
if (Mathf.dst(rx, ry) <= brushSize - 0.5f) {
|
||||||
|
int wx = x + rx, wy = y + ry;
|
||||||
|
|
||||||
|
if (wx < 0 || wy < 0 || wx >= map.width() || wy >= map.height()) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
TileDataMarker prev = getPrev(wx, wy, true);
|
||||||
|
|
||||||
|
map.write(wx, wy, DataPosition.elevation, elevation);
|
||||||
|
|
||||||
|
onWrite(x + rx, y + ry, prev);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private void removeLinked(int x, int y){
|
private void removeLinked(int x, int y){
|
||||||
Block block = Block.getByID(map.read(x, y, DataPosition.wall));
|
Block block = Block.getByID(map.read(x, y, DataPosition.wall));
|
||||||
|
|
||||||
|
|||||||
@@ -409,12 +409,14 @@ public class MapEditorDialog extends Dialog implements Disposable{
|
|||||||
|
|
||||||
tools.defaults().size(size, size + 4f).padBottom(-5.1f);
|
tools.defaults().size(size, size + 4f).padBottom(-5.1f);
|
||||||
|
|
||||||
tools.addImageButton("icon-back", 16*2, () -> tryExit());
|
//tools.addImageButton("icon-back", 16*2, () -> tryExit());
|
||||||
|
|
||||||
tools.addImageButton("icon-menu-large", 16*2f, menu::show);
|
tools.addImageButton("icon-menu-large", 16*2f, menu::show);
|
||||||
|
|
||||||
ImageButton grid = tools.addImageButton("icon-grid", "toggle", 16*2f, () -> view.setGrid(!view.isGrid())).get();
|
ImageButton grid = tools.addImageButton("icon-grid", "toggle", 16*2f, () -> view.setGrid(!view.isGrid())).get();
|
||||||
|
|
||||||
|
addTool.accept(EditorTool.zoom);
|
||||||
|
|
||||||
tools.row();
|
tools.row();
|
||||||
|
|
||||||
ImageButton undo = tools.addImageButton("icon-undo", 16*2f, () -> view.undo()).get();
|
ImageButton undo = tools.addImageButton("icon-undo", 16*2f, () -> view.undo()).get();
|
||||||
@@ -438,7 +440,8 @@ public class MapEditorDialog extends Dialog implements Disposable{
|
|||||||
tools.row();
|
tools.row();
|
||||||
|
|
||||||
addTool.accept(EditorTool.fill);
|
addTool.accept(EditorTool.fill);
|
||||||
addTool.accept(EditorTool.zoom);
|
addTool.accept(EditorTool.elevation);
|
||||||
|
|
||||||
|
|
||||||
ImageButton rotate = tools.addImageButton("icon-arrow-16", 16*2f, () -> editor.setDrawRotation((editor.getDrawRotation() + 1)%4)).get();
|
ImageButton rotate = tools.addImageButton("icon-arrow-16", 16*2f, () -> editor.setDrawRotation((editor.getDrawRotation() + 1)%4)).get();
|
||||||
rotate.getImage().update(() ->{
|
rotate.getImage().update(() ->{
|
||||||
|
|||||||
@@ -70,7 +70,7 @@ public class MapFilter{
|
|||||||
noise += 2 * (dist - 0.8);
|
noise += 2 * (dist - 0.8);
|
||||||
}
|
}
|
||||||
|
|
||||||
Block block = noise > 0.6 ? Blocks.stoneblock : Blocks.stone;
|
Block block = Blocks.stone;
|
||||||
|
|
||||||
pixmap.drawPixel(x, y, ColorMapper.getColor(block));
|
pixmap.drawPixel(x, y, ColorMapper.getColor(block));
|
||||||
}
|
}
|
||||||
@@ -110,32 +110,6 @@ public class MapFilter{
|
|||||||
|
|
||||||
double noil = sim.octaveNoise2D(1, 1.0, 1 / 150.0, x + 9999, y) + sim.octaveNoise2D(1, 1.0, 1 / 2.0, x, y) / 290.0;
|
double noil = sim.octaveNoise2D(1, 1.0, 1 / 150.0, x + 9999, y) + sim.octaveNoise2D(1, 1.0, 1 / 2.0, x, y) / 290.0;
|
||||||
|
|
||||||
if(!floor || prefs.get("replace").enabled){
|
|
||||||
|
|
||||||
if(prefs.get("allgrass").enabled){
|
|
||||||
block = floor ? Blocks.grass : Blocks.grassblock;
|
|
||||||
}else if(prefs.get("allsnow").enabled){
|
|
||||||
block = floor ? Blocks.snow : Blocks.snowblock;
|
|
||||||
}else if(prefs.get("allsand").enabled){
|
|
||||||
block = floor ? Blocks.sand : Blocks.sandblock;
|
|
||||||
}else if(prefs.get("replace").enabled){
|
|
||||||
block = floor ? Blocks.stone : Blocks.stoneblock;
|
|
||||||
}
|
|
||||||
|
|
||||||
if(noise > 0.7 && prefs.get("grass").enabled){
|
|
||||||
block = floor ? Blocks.grass : Blocks.grassblock;
|
|
||||||
}
|
|
||||||
if(noise > 0.7 && prefs.get("blackstone").enabled){
|
|
||||||
block = floor ? Blocks.blackstone : Blocks.blackstoneblock;
|
|
||||||
}
|
|
||||||
if(noise > 0.7 && prefs.get("sand").enabled){
|
|
||||||
block = floor ? Blocks.sand : Blocks.sandblock;
|
|
||||||
}
|
|
||||||
if(noise > 0.8 && prefs.get("stone").enabled){
|
|
||||||
block = floor ? Blocks.stone : Blocks.stoneblock;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if(floor){
|
if(floor){
|
||||||
if(nwater > 0.93 && prefs.get("water").enabled){
|
if(nwater > 0.93 && prefs.get("water").enabled){
|
||||||
block = Blocks.water;
|
block = Blocks.water;
|
||||||
|
|||||||
@@ -23,18 +23,13 @@ public class ColorMapper{
|
|||||||
|
|
||||||
colors = map(
|
colors = map(
|
||||||
"323232", pair(Blocks.stone),
|
"323232", pair(Blocks.stone),
|
||||||
"646464", pair(Blocks.stone, Blocks.stoneblock),
|
|
||||||
"50965a", pair(Blocks.grass),
|
"50965a", pair(Blocks.grass),
|
||||||
"5ab464", pair(Blocks.grass, Blocks.grassblock),
|
|
||||||
"506eb4", pair(Blocks.water),
|
"506eb4", pair(Blocks.water),
|
||||||
"465a96", pair(Blocks.deepwater),
|
"465a96", pair(Blocks.deepwater),
|
||||||
"252525", pair(Blocks.blackstone),
|
"252525", pair(Blocks.blackstone),
|
||||||
"575757", pair(Blocks.blackstone, Blocks.blackstoneblock),
|
|
||||||
"988a67", pair(Blocks.sand),
|
"988a67", pair(Blocks.sand),
|
||||||
"e5d8bb", pair(Blocks.sand, Blocks.sandblock),
|
|
||||||
"c2d1d2", pair(Blocks.snow),
|
"c2d1d2", pair(Blocks.snow),
|
||||||
"c4e3e7", pair(Blocks.ice),
|
"c4e3e7", pair(Blocks.ice),
|
||||||
"f7feff", pair(Blocks.snow, Blocks.snowblock),
|
|
||||||
"6e501e", pair(Blocks.dirt),
|
"6e501e", pair(Blocks.dirt),
|
||||||
"ed5334", pair(Blocks.lava),
|
"ed5334", pair(Blocks.lava),
|
||||||
"292929", pair(Blocks.oil),
|
"292929", pair(Blocks.oil),
|
||||||
|
|||||||