From efcae883fb871b3caab75f014a90a32e83df4aae Mon Sep 17 00:00:00 2001 From: Anuken Date: Wed, 16 Jun 2021 11:09:18 -0400 Subject: [PATCH] Experimental core-capture PvP map / Editor filter fixes --- core/assets/bundles/bundle.properties | 1 + core/assets/maps/passage.msav | Bin 0 -> 13716 bytes core/src/mindustry/editor/MapInfoDialog.java | 8 ++++-- core/src/mindustry/maps/Maps.java | 4 +-- .../mindustry/maps/filters/ClearFilter.java | 27 ++++++++++++------ gradle.properties | 2 +- 6 files changed, 29 insertions(+), 13 deletions(-) create mode 100644 core/assets/maps/passage.msav diff --git a/core/assets/bundles/bundle.properties b/core/assets/bundles/bundle.properties index 8aff18d4b9..3e2304b765 100644 --- a/core/assets/bundles/bundle.properties +++ b/core/assets/bundles/bundle.properties @@ -492,6 +492,7 @@ filter.option.block = Block filter.option.floor = Floor filter.option.flooronto = Target Floor filter.option.target = Target +filter.option.replacement = Replacement filter.option.wall = Wall filter.option.ore = Ore filter.option.floor2 = Secondary Floor diff --git a/core/assets/maps/passage.msav b/core/assets/maps/passage.msav new file mode 100644 index 0000000000000000000000000000000000000000..9e9d8d11383a1ddc3bfe5854670abbf15136db3a GIT binary patch literal 13716 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 C5bwnR literal 0 HcmV?d00001 diff --git a/core/src/mindustry/editor/MapInfoDialog.java b/core/src/mindustry/editor/MapInfoDialog.java index da4bf5a4b3..63b9a053da 100644 --- a/core/src/mindustry/editor/MapInfoDialog.java +++ b/core/src/mindustry/editor/MapInfoDialog.java @@ -3,10 +3,10 @@ package mindustry.editor; import arc.*; import arc.scene.ui.*; import arc.struct.*; -import arc.util.*; import mindustry.*; import mindustry.game.*; import mindustry.io.*; +import mindustry.maps.filters.*; import mindustry.ui.*; import mindustry.ui.dialogs.*; @@ -74,7 +74,11 @@ public class MapInfoDialog extends BaseDialog{ t.row(); t.add("@editor.generation").padRight(8).left(); t.button("@edit", () -> { - generate.show(maps.readFilters(editor.tags.get("genfilters", "")), + //randomize so they're not all the same seed + var res = maps.readFilters(editor.tags.get("genfilters", "")); + res.each(GenerateFilter::randomize); + + generate.show(res, filters -> { //reset seed to 0 so it is not written filters.each(f -> f.seed = 0); diff --git a/core/src/mindustry/maps/Maps.java b/core/src/mindustry/maps/Maps.java index d7ea3b392d..72fcc09aa1 100644 --- a/core/src/mindustry/maps/Maps.java +++ b/core/src/mindustry/maps/Maps.java @@ -29,9 +29,9 @@ import static mindustry.Vars.*; public class Maps{ /** List of all built-in maps. Filenames only. */ - private static String[] defaultMapNames = {"maze", "fortress", "labyrinth", "islands", "tendrils", "caldera", "wasteland", "shattered", "fork", "triad", "mudFlats", "moltenLake", "archipelago", "debrisField", "veins", "glacier"}; + private static String[] defaultMapNames = {"maze", "fortress", "labyrinth", "islands", "tendrils", "caldera", "wasteland", "shattered", "fork", "triad", "mudFlats", "moltenLake", "archipelago", "debrisField", "veins", "glacier", "passage"}; /** Maps tagged as PvP */ - static final String[] pvpMaps = {"veins", "glacier"}; + static final String[] pvpMaps = {"veins", "glacier", "passage"}; /** All maps stored in an ordered array. */ private Seq maps = new Seq<>(); /** Serializer for meta. */ diff --git a/core/src/mindustry/maps/filters/ClearFilter.java b/core/src/mindustry/maps/filters/ClearFilter.java index 3b2684ef7e..59e4512a82 100644 --- a/core/src/mindustry/maps/filters/ClearFilter.java +++ b/core/src/mindustry/maps/filters/ClearFilter.java @@ -7,12 +7,14 @@ import mindustry.world.*; import static mindustry.maps.filters.FilterOption.*; public class ClearFilter extends GenerateFilter{ - protected Block block = Blocks.air; + protected Block target = Blocks.stone; + protected Block replace = Blocks.air; @Override public FilterOption[] options(){ return new BlockOption[]{ - new BlockOption("block", () -> block, b -> block = b, b -> oresOnly.get(b) || wallsOnly.get(b)) + new BlockOption("target", () -> target, b -> target = b, anyOptional), + new BlockOption("replacement", () -> replace, b -> replace = b, anyOptional) }; } @@ -24,12 +26,21 @@ public class ClearFilter extends GenerateFilter{ @Override public void apply(GenerateInput in){ - if(in.block == block){ - in.block = Blocks.air; - } - - if(in.overlay == block){ - in.overlay = Blocks.air; + if(in.block == target || in.floor == target || (target.isOverlay() && in.overlay == target)){ + //special case: when air is the result, replace only the overlay or wall + if(replace == Blocks.air){ + if(in.overlay == target){ + in.overlay = Blocks.air; + }else{ + in.block = Blocks.air; + } + }else if(replace.isOverlay()){ //replace the best match based on type + in.overlay = replace; + }else if(replace.isFloor()){ + in.floor = replace; + }else{ + in.block = replace; + } } } } diff --git a/gradle.properties b/gradle.properties index 15947e3eac..a70ad43723 100644 --- a/gradle.properties +++ b/gradle.properties @@ -10,4 +10,4 @@ kapt.include.compile.classpath=false kotlin.stdlib.default.dependency=false #needed for android compilation android.useAndroidX=true -archash=07ced971f4c8b8b5a61aa3a84b29c90aa497cb48 +archash=37fbff84ebd824be79586e1e13d05506446938b3