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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 { - 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