From e52965d0391d3703525195992a5fe5324c39fa22 Mon Sep 17 00:00:00 2001 From: Anuken Date: Wed, 10 Jul 2019 09:55:31 -0400 Subject: [PATCH] Bugfixes --- .../sprites/mechs/ships/dart-ship.png | Bin 5585 -> 5622 bytes core/assets/maps/islands.msav | Bin 12710 -> 13084 bytes .../mindustry/editor/MapEditorDialog.java | 2 +- core/src/io/anuke/mindustry/io/MapIO.java | 22 ++++++++------ core/src/io/anuke/mindustry/maps/Maps.java | 27 ++++++++++++++++++ .../mindustry/ui/dialogs/FileChooser.java | 9 +++--- core/src/io/anuke/mindustry/world/Tile.java | 16 +---------- 7 files changed, 46 insertions(+), 30 deletions(-) diff --git a/core/assets-raw/sprites/mechs/ships/dart-ship.png b/core/assets-raw/sprites/mechs/ships/dart-ship.png index 47ac3ef5cce3d29fafce66121216428c3a4f3702..e9567d8ecd13d338a260e89d965d014b8fd6a516 100644 GIT binary patch delta 5572 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 diff --git a/core/src/io/anuke/mindustry/editor/MapEditorDialog.java b/core/src/io/anuke/mindustry/editor/MapEditorDialog.java index af2f80a176..9e4bb3d46a 100644 --- a/core/src/io/anuke/mindustry/editor/MapEditorDialog.java +++ b/core/src/io/anuke/mindustry/editor/MapEditorDialog.java @@ -383,9 +383,9 @@ public class MapEditorDialog extends Dialog implements Disposable{ Table tools = new Table().top(); ButtonGroup group = new ButtonGroup<>(); + Table[] lastTable = {null}; Consumer addTool = tool -> { - Table[] lastTable = {null}; ImageButton button = new ImageButton("icon-" + tool.name() + "-small", "clear-toggle"); button.clicked(() -> { diff --git a/core/src/io/anuke/mindustry/io/MapIO.java b/core/src/io/anuke/mindustry/io/MapIO.java index 8daf1a7e2a..8546f419bb 100644 --- a/core/src/io/anuke/mindustry/io/MapIO.java +++ b/core/src/io/anuke/mindustry/io/MapIO.java @@ -1,5 +1,6 @@ package io.anuke.mindustry.io; +import io.anuke.arc.collection.IntSet; import io.anuke.arc.collection.StringMap; import io.anuke.arc.files.FileHandle; import io.anuke.arc.graphics.Color; @@ -78,6 +79,7 @@ public class MapIO{ Pixmap walls = new Pixmap(map.width, map.height, Format.RGBA8888); int black = Color.rgba8888(Color.BLACK); int shade = Color.rgba8888(0f, 0f, 0f, 0.5f); + IntSet teams = new IntSet(); CachedTile tile = new CachedTile(){ @Override public void setBlock(Block type){ @@ -93,15 +95,7 @@ public class MapIO{ public void setTeam(Team team){ super.setTeam(team); if(block instanceof CoreBlock){ - if(team != defaultTeam){ - //map must have other team's cores - map.tags.put("othercore", "true"); - } - - if(team == waveTeam){ - //map must have default enemy team's core - map.tags.put("enemycore", "true"); - } + teams.add(team.ordinal()); } } }; @@ -131,6 +125,16 @@ public class MapIO{ } })); + if(teams.size > 1){ + //map must have other team's cores + map.tags.put("othercore", "true"); + } + + if(teams.contains(waveTeam.ordinal())){ + //map must have default enemy team's core + map.tags.put("enemycore", "true"); + } + floors.drawPixmap(walls, 0, 0); walls.dispose(); return floors; diff --git a/core/src/io/anuke/mindustry/maps/Maps.java b/core/src/io/anuke/mindustry/maps/Maps.java index 4a47e20f38..646f961bdb 100644 --- a/core/src/io/anuke/mindustry/maps/Maps.java +++ b/core/src/io/anuke/mindustry/maps/Maps.java @@ -10,6 +10,8 @@ import io.anuke.arc.util.serialization.Json; import io.anuke.mindustry.game.SpawnGroup; import io.anuke.mindustry.io.LegacyMapIO; import io.anuke.mindustry.io.MapIO; +import io.anuke.mindustry.world.Tile; +import io.anuke.mindustry.world.blocks.storage.CoreBlock; import java.io.IOException; import java.io.StringWriter; @@ -108,6 +110,31 @@ public class Maps implements Disposable{ MapIO.writeMap(file, map); if(!headless){ + //by default, it does not have an enemy core or any other cores + map.tags.put("enemycore", "false"); + map.tags.put("othercore", "false"); + IntSet teams = new IntSet(); + + for(int x = 0; x < map.width; x++){ + for(int y = 0; y < map.height; y++){ + Tile tile = world.getTiles()[x][y]; + + if(tile.block() instanceof CoreBlock){ + teams.add(tile.getTeamID()); + } + } + } + + if(teams.size > 1){ + //map must have other team's cores + map.tags.put("othercore", "true"); + } + + if(teams.contains(waveTeam.ordinal())){ + //map must have default enemy team's core + map.tags.put("enemycore", "true"); + } + map.texture = new Texture(MapIO.generatePreview(world.getTiles())); } maps.add(map); diff --git a/core/src/io/anuke/mindustry/ui/dialogs/FileChooser.java b/core/src/io/anuke/mindustry/ui/dialogs/FileChooser.java index be730d028e..d76a25a981 100644 --- a/core/src/io/anuke/mindustry/ui/dialogs/FileChooser.java +++ b/core/src/io/anuke/mindustry/ui/dialogs/FileChooser.java @@ -12,12 +12,11 @@ import io.anuke.arc.scene.ui.layout.Table; import io.anuke.arc.scene.ui.layout.Unit; import io.anuke.arc.util.*; import io.anuke.arc.util.pooling.Pools; -import io.anuke.mindustry.Vars; import io.anuke.mindustry.core.Platform; import java.util.Arrays; -import static io.anuke.mindustry.Vars.iconsize; +import static io.anuke.mindustry.Vars.*; public class FileChooser extends FloatingDialog{ private static final FileHandle homeDirectory = Core.files.absolute(OS.isMac ? OS.getProperty("user.home") + "/Downloads/" : Core.files.getExternalStoragePath()); @@ -35,9 +34,9 @@ public class FileChooser extends FloatingDialog{ private int lastWidth = Core.graphics.getWidth(), lastHeight = Core.graphics.getHeight(); public static final Predicate pngFiles = str -> str.equals("png"); - public static final Predicate anyMapFiles = str -> str.equals(Vars.oldMapExtension) || str.equals(Vars.mapExtension); - public static final Predicate mapFiles = str -> str.equals(Vars.mapExtension); - public static final Predicate saveFiles = str -> str.equals(Vars.saveExtension); + public static final Predicate anyMapFiles = str -> str.equals(oldMapExtension) || str.equals(mapExtension); + public static final Predicate mapFiles = str -> str.equals(mapExtension); + public static final Predicate saveFiles = str -> str.equals(saveExtension); public FileChooser(String title, Predicate filter, boolean open, Consumer result){ super(title); diff --git a/core/src/io/anuke/mindustry/world/Tile.java b/core/src/io/anuke/mindustry/world/Tile.java index 618d3cfc97..5d158a8237 100644 --- a/core/src/io/anuke/mindustry/world/Tile.java +++ b/core/src/io/anuke/mindustry/world/Tile.java @@ -279,20 +279,6 @@ public class Tile implements Position, TargetTrait{ return tmpArray; } - /** Returns the block the multiblock is linked to, or null if it is not linked to any block. - public Tile getLinked(){ - if(!isLinked()){ - return null; - }else{ - return world.tile(x + linkX(rotation), y + linkY(rotation)); - } - } - - public Tile target(){ - Tile link = getLinked(); - return link == null ? this : link; - }*/ - public Rectangle getHitbox(Rectangle rect){ return rect.setSize(block().size * tilesize).setCenter(drawx(), drawy()); } @@ -346,7 +332,7 @@ public class Tile implements Position, TargetTrait{ //+26 - if(link().synthetic()){ + if(link().synthetic() && link().solid()){ cost += Mathf.clamp(link().block.health / 10f, 0, 20); }