diff --git a/core/assets/version.properties b/core/assets/version.properties index f0e6affe7d..8bd5053905 100644 --- a/core/assets/version.properties +++ b/core/assets/version.properties @@ -1,7 +1,7 @@ #Autogenerated file. Do not modify. -#Mon Apr 16 22:47:36 EDT 2018 +#Tue Apr 17 09:04:30 EDT 2018 version=release -androidBuildCode=932 +androidBuildCode=933 name=Mindustry code=3.5 build=custom build diff --git a/core/src/io/anuke/mindustry/entities/effect/Fire.java b/core/src/io/anuke/mindustry/entities/effect/Fire.java index b40176a4c5..a0dc0ffa51 100644 --- a/core/src/io/anuke/mindustry/entities/effect/Fire.java +++ b/core/src/io/anuke/mindustry/entities/effect/Fire.java @@ -1,6 +1,7 @@ package io.anuke.mindustry.entities.effect; import com.badlogic.gdx.math.GridPoint2; +import com.badlogic.gdx.utils.IntMap; import io.anuke.mindustry.content.StatusEffects; import io.anuke.mindustry.content.fx.EnvironmentFx; import io.anuke.mindustry.entities.TileEntity; @@ -9,13 +10,12 @@ import io.anuke.ucore.core.Effects; import io.anuke.ucore.core.Timers; import io.anuke.ucore.entities.TimedEntity; import io.anuke.ucore.util.Geometry; -import io.anuke.ucore.util.GridMap; import io.anuke.ucore.util.Mathf; import static io.anuke.mindustry.Vars.*; public class Fire extends TimedEntity { - private static final GridMap map = new GridMap<>(); + private static final IntMap map = new IntMap<>(); private static final float baseLifetime = 1000f; private Tile tile; @@ -23,10 +23,10 @@ public class Fire extends TimedEntity { /**Start a fire on the tile. If there already is a file there, refreshes its lifetime..*/ public static void create(Tile tile){ - Fire fire = map.get(tile.x, tile.y); + Fire fire = map.get(tile.packedPosition()); if(fire == null){ - map.put(tile.x, tile.y, new Fire(tile).add()); + map.put(tile.packedPosition(), new Fire(tile).add()); }else{ fire.lifetime = baseLifetime; fire.time = 0f; @@ -35,8 +35,8 @@ public class Fire extends TimedEntity { /**Attempts to extinguish a fire by shortening its life. If there is no fire here, does nothing.*/ public static void extinguish(Tile tile, float intensity){ - if(map.containsKey(tile.x, tile.y)){ - map.get(tile.x, tile.y).time += intensity * Timers.delta(); + if(map.containsKey(tile.packedPosition())){ + map.get(tile.packedPosition()).time += intensity * Timers.delta(); } } @@ -100,6 +100,6 @@ public class Fire extends TimedEntity { @Override public void removed() { - map.remove(tile.x, tile.y); + map.remove(tile.packedPosition()); } } diff --git a/core/src/io/anuke/mindustry/entities/effect/Puddle.java b/core/src/io/anuke/mindustry/entities/effect/Puddle.java index 9ef08df987..cdda22dddf 100644 --- a/core/src/io/anuke/mindustry/entities/effect/Puddle.java +++ b/core/src/io/anuke/mindustry/entities/effect/Puddle.java @@ -3,6 +3,7 @@ package io.anuke.mindustry.entities.effect; import com.badlogic.gdx.graphics.Color; import com.badlogic.gdx.math.GridPoint2; import com.badlogic.gdx.math.Rectangle; +import com.badlogic.gdx.utils.IntMap; import io.anuke.mindustry.Vars; import io.anuke.mindustry.content.blocks.Blocks; import io.anuke.mindustry.content.fx.BlockFx; @@ -18,13 +19,12 @@ import io.anuke.ucore.graphics.Fill; import io.anuke.ucore.graphics.Hue; import io.anuke.ucore.util.Angles; import io.anuke.ucore.util.Geometry; -import io.anuke.ucore.util.GridMap; import io.anuke.ucore.util.Mathf; import static io.anuke.mindustry.Vars.world; public class Puddle extends Entity { - private static final GridMap map = new GridMap<>(); + private static final IntMap map = new IntMap<>(); private static final float maxLiquid = 70f; private static final int maxGeneration = 2; private static final Color tmp = new Color(); @@ -48,14 +48,14 @@ public class Puddle extends Entity { /**Returns the puddle on the specified tile. May return null.*/ public static Puddle getPuddle(Tile tile){ - return map.get(tile.x, tile.y); + return map.get(tile.packedPosition()); } private static void deposit(Tile tile, Tile source, Liquid liquid, float amount, int generation){ - Puddle p = map.get(tile.x, tile.y); + Puddle p = map.get(tile.packedPosition()); if(p == null){ Puddle puddle = new Puddle(tile, source, liquid, amount, generation).add(); - map.put(tile.x, tile.y, puddle); + map.put(tile.packedPosition(), puddle); }else if(p.liquid == liquid){ p.accepting = Math.max(amount, p.accepting); @@ -156,7 +156,7 @@ public class Puddle extends Entity { @Override public void removed() { - map.remove(tile.x, tile.y); + map.remove(tile.packedPosition()); } @Override