diff --git a/core/assets/maps/aware.msav b/core/assets/maps/aware.msav index b632b80669..c12a0910b6 100644 Binary files a/core/assets/maps/aware.msav and b/core/assets/maps/aware.msav differ diff --git a/core/src/mindustry/content/Blocks.java b/core/src/mindustry/content/Blocks.java index 533657f118..83b2b419e6 100644 --- a/core/src/mindustry/content/Blocks.java +++ b/core/src/mindustry/content/Blocks.java @@ -1322,6 +1322,7 @@ public class Blocks{ }}; //TODO should have a useful turret ammo byproduct? scrap? + //TODO surge being removed I think surgeCrucible = new HeatCrafter("surge-crucible"){{ requirements(Category.crafting, with(Items.silicon, 100, Items.graphite, 80, Items.carbide, 60, Items.thorium, 90)); diff --git a/core/src/mindustry/entities/comp/BuildingComp.java b/core/src/mindustry/entities/comp/BuildingComp.java index a1f3c43e4d..d2289d7788 100644 --- a/core/src/mindustry/entities/comp/BuildingComp.java +++ b/core/src/mindustry/entities/comp/BuildingComp.java @@ -491,7 +491,9 @@ abstract class BuildingComp implements Posc, Teamc, Healthc, Buildingc, Timerc, /** @return whether this block is allowed to update based on team/environment */ public boolean allowUpdate(){ - return team != Team.derelict && block.supportsEnv(state.rules.env); + return team != Team.derelict && block.supportsEnv(state.rules.env) && + //check if outside map limit + (!state.rules.limitMapArea || !state.rules.disableOutsideArea || Rect.contains(state.rules.limitX, state.rules.limitY, state.rules.limitWidth, state.rules.limitHeight, tile.x, tile.y)); } public BlockStatus status(){ diff --git a/core/src/mindustry/game/Rules.java b/core/src/mindustry/game/Rules.java index 2e94170f65..49d57dc483 100644 --- a/core/src/mindustry/game/Rules.java +++ b/core/src/mindustry/game/Rules.java @@ -144,6 +144,8 @@ public class Rules{ public boolean limitMapArea = false; /** Map area limit rectangle. */ public int limitX, limitY, limitWidth = 1, limitHeight = 1; + /** If true, blocks outside the map area are disabled. */ + public boolean disableOutsideArea = true; /** special tags for additional info. */ public StringMap tags = new StringMap(); /** Name of callback to call for background rendering in mods; see Renderer#addCustomBackground. Runs last. */ diff --git a/core/src/mindustry/world/Build.java b/core/src/mindustry/world/Build.java index ed5c514689..b5df63e97d 100644 --- a/core/src/mindustry/world/Build.java +++ b/core/src/mindustry/world/Build.java @@ -201,7 +201,7 @@ public class Build{ } } - if(state.rules.placeRangeCheck && getEnemyOverlap(type, team, x, y) != null){ + if(state.rules.placeRangeCheck && !state.isEditor() && getEnemyOverlap(type, team, x, y) != null){ return false; } diff --git a/core/src/mindustry/world/blocks/payloads/PayloadBlock.java b/core/src/mindustry/world/blocks/payloads/PayloadBlock.java index 4c89d5a4ee..337355f051 100644 --- a/core/src/mindustry/world/blocks/payloads/PayloadBlock.java +++ b/core/src/mindustry/world/blocks/payloads/PayloadBlock.java @@ -172,7 +172,7 @@ public class PayloadBlock extends Block{ updatePayload(); if(rotate){ - payRotation = Angles.moveToward(payRotation, rotate ? rotdeg() : 90f, payloadRotateSpeed * delta()); + payRotation = Angles.moveToward(payRotation, block.rotate ? rotdeg() : 90f, payloadRotateSpeed * delta()); } payVector.approach(Vec2.ZERO, payloadSpeed * delta()); diff --git a/desktop/src/mindustry/desktop/DesktopLauncher.java b/desktop/src/mindustry/desktop/DesktopLauncher.java index 1e74170914..7b319306d9 100644 --- a/desktop/src/mindustry/desktop/DesktopLauncher.java +++ b/desktop/src/mindustry/desktop/DesktopLauncher.java @@ -45,6 +45,9 @@ public class DesktopLauncher extends ClientLauncher{ if(Structs.contains(arg, "-gl3")){ gl30 = true; } + if(Structs.contains(arg, "-antialias")){ + samples = 16; + } if(Structs.contains(arg, "-debug")){ Log.level = LogLevel.debug; } @@ -358,11 +361,4 @@ public class DesktopLauncher extends ClientLauncher{ private static void message(String message){ SDL.SDL_ShowSimpleMessageBox(SDL.SDL_MESSAGEBOX_ERROR, "oh no", message); } - - private boolean validAddress(byte[] bytes){ - if(bytes == null) return false; - byte[] result = new byte[8]; - System.arraycopy(bytes, 0, result, 0, bytes.length); - return !new String(Base64Coder.encode(result)).equals("AAAAAAAAAOA=") && !new String(Base64Coder.encode(result)).equals("AAAAAAAAAAA="); - } } diff --git a/gradle.properties b/gradle.properties index 4be0b39d8a..41114cee18 100644 --- a/gradle.properties +++ b/gradle.properties @@ -24,4 +24,4 @@ android.useAndroidX=true #used for slow jitpack builds; TODO see if this actually works org.gradle.internal.http.socketTimeout=100000 org.gradle.internal.http.connectionTimeout=100000 -archash=acb45de74d +archash=5f559f794f