From c55ff4ad5e912b1effffe523c6c2e2437aca49e3 Mon Sep 17 00:00:00 2001 From: Joshua Fan Date: Sun, 28 Feb 2021 06:19:27 -0800 Subject: [PATCH 1/4] Desktop double-click mining: fix click on mined tile to cancel (#4815) --- core/src/mindustry/input/DesktopInput.java | 2 +- core/src/mindustry/input/InputHandler.java | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/core/src/mindustry/input/DesktopInput.java b/core/src/mindustry/input/DesktopInput.java index d3d22c0510..5ec8b98fce 100644 --- a/core/src/mindustry/input/DesktopInput.java +++ b/core/src/mindustry/input/DesktopInput.java @@ -494,7 +494,7 @@ public class DesktopInput extends InputHandler{ }else if(selected != null){ //only begin shooting if there's no cursor event if(!tryTapPlayer(Core.input.mouseWorld().x, Core.input.mouseWorld().y) && !tileTapped(selected.build) && !player.unit().activelyBuilding() && !droppingItem - && !((!settings.getBool("doubletapmine") || (selected == prevSelected && Time.timeSinceMillis(selectMillis) < 500)) && tryBeginMine(selected)) && !Core.scene.hasKeyboard()){ + && !(tryStopMine(selected) || (!settings.getBool("doubletapmine") || selected == prevSelected && Time.timeSinceMillis(selectMillis) < 500) && tryBeginMine(selected)) && !Core.scene.hasKeyboard()){ player.shooting = shouldShoot; } }else if(!Core.scene.hasKeyboard()){ //if it's out of bounds, shooting is just fine diff --git a/core/src/mindustry/input/InputHandler.java b/core/src/mindustry/input/InputHandler.java index fe082d5468..23e798273d 100644 --- a/core/src/mindustry/input/InputHandler.java +++ b/core/src/mindustry/input/InputHandler.java @@ -948,8 +948,7 @@ public abstract class InputHandler implements InputProcessor, GestureListener{ /** Tries to begin mining a tile, returns true if successful. */ boolean tryBeginMine(Tile tile){ if(canMine(tile)){ - //if a block is clicked twice, reset it - player.unit().mineTile = player.unit().mineTile == tile ? null : tile; + player.unit().mineTile = tile; return true; } return false; From 662515ce2e6847216aad1642e7fd035327df0661 Mon Sep 17 00:00:00 2001 From: genNAowl <68400583+genNAowl@users.noreply.github.com> Date: Sun, 28 Feb 2021 06:19:35 -0800 Subject: [PATCH 2/4] Make RepairPoints implement Ranged (#4813) Co-authored-by: Leonwang4234 <62972692+Leonwang4234@users.noreply.github.com> --- core/src/mindustry/world/blocks/units/RepairPoint.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/core/src/mindustry/world/blocks/units/RepairPoint.java b/core/src/mindustry/world/blocks/units/RepairPoint.java index 8e6a03e834..9833276112 100644 --- a/core/src/mindustry/world/blocks/units/RepairPoint.java +++ b/core/src/mindustry/world/blocks/units/RepairPoint.java @@ -11,6 +11,7 @@ import mindustry.annotations.Annotations.*; import mindustry.entities.*; import mindustry.gen.*; import mindustry.graphics.*; +import mindustry.logic.*; import mindustry.world.*; import mindustry.world.meta.*; @@ -63,7 +64,7 @@ public class RepairPoint extends Block{ return new TextureRegion[]{baseRegion, region}; } - public class RepairPointBuild extends Building{ + public class RepairPointBuild extends Building implements Ranged{ public Unit target; public float strength, rotation = 90; @@ -126,6 +127,11 @@ public class RepairPoint extends Block{ return Mathf.equal(efficiency(), 0f, 0.01f) ? BlockStatus.noInput : cons.status(); } + @Override + public float range(){ + return repairRadius; + } + @Override public void write(Writes write){ super.write(write); From d025ba63e1c692845f713deceb4d536d8af19d7d Mon Sep 17 00:00:00 2001 From: FiliusPatris Date: Sun, 28 Feb 2021 19:27:47 +0100 Subject: [PATCH 3/4] Display map names with underscores (#4819) This makes it obvious how to specify map names with spaces. It also allows for copy-pasting form the output of `maps`. --- server/src/mindustry/server/ServerControl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/src/mindustry/server/ServerControl.java b/server/src/mindustry/server/ServerControl.java index 66ba27b107..bd3507c936 100644 --- a/server/src/mindustry/server/ServerControl.java +++ b/server/src/mindustry/server/ServerControl.java @@ -339,7 +339,7 @@ public class ServerControl implements ApplicationListener{ if(!maps.all().isEmpty()){ info("Maps:"); for(Map map : maps.all()){ - info(" @: &fi@ / @x@", map.name(), map.custom ? "Custom" : "Default", map.width, map.height); + info(" @: &fi@ / @x@", map.name().replace(' ', '_'), map.custom ? "Custom" : "Default", map.width, map.height); } }else{ info("No maps found."); From 526157a514f1d36e697560992fc6bd8366463052 Mon Sep 17 00:00:00 2001 From: Patrick 'Quezler' Mounier Date: Sun, 28 Feb 2021 19:58:06 +0100 Subject: [PATCH 4/4] Draw to-be affected blocks when placing projectors (#4818) --- core/src/mindustry/world/blocks/defense/MendProjector.java | 4 +++- .../mindustry/world/blocks/defense/OverdriveProjector.java | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/core/src/mindustry/world/blocks/defense/MendProjector.java b/core/src/mindustry/world/blocks/defense/MendProjector.java index 25a4c64544..9a478e05c0 100644 --- a/core/src/mindustry/world/blocks/defense/MendProjector.java +++ b/core/src/mindustry/world/blocks/defense/MendProjector.java @@ -54,7 +54,9 @@ public class MendProjector extends Block{ @Override public void drawPlace(int x, int y, int rotation, boolean valid){ - Drawf.dashCircle(x * tilesize + offset, y * tilesize + offset, range, Pal.accent); + Drawf.dashCircle(x * tilesize + offset, y * tilesize + offset, range, baseColor); + + indexer.eachBlock(player.team(), x * tilesize + offset, y * tilesize + offset, range, other -> true, other -> Drawf.selected(other, Tmp.c1.set(baseColor).a(Mathf.absin(4f, 1f)))); } public class MendBuild extends Building implements Ranged{ diff --git a/core/src/mindustry/world/blocks/defense/OverdriveProjector.java b/core/src/mindustry/world/blocks/defense/OverdriveProjector.java index 5066186e71..5de49cacd2 100644 --- a/core/src/mindustry/world/blocks/defense/OverdriveProjector.java +++ b/core/src/mindustry/world/blocks/defense/OverdriveProjector.java @@ -47,7 +47,9 @@ public class OverdriveProjector extends Block{ @Override public void drawPlace(int x, int y, int rotation, boolean valid){ - Drawf.dashCircle(x * tilesize + offset, y * tilesize + offset, range, Pal.accent); + Drawf.dashCircle(x * tilesize + offset, y * tilesize + offset, range, baseColor); + + indexer.eachBlock(player.team(), x * tilesize + offset, y * tilesize + offset, range, other -> other.block.canOverdrive, other -> Drawf.selected(other, Tmp.c1.set(baseColor).a(Mathf.absin(4f, 1f)))); } @Override