From a4f240edc8066c97fbef9d1d6478cf75da77b550 Mon Sep 17 00:00:00 2001 From: Anuken Date: Mon, 3 Sep 2018 16:22:24 -0400 Subject: [PATCH] Fixed some high-FPS bugs --- core/src/io/anuke/mindustry/entities/units/FlyingUnit.java | 2 +- core/src/io/anuke/mindustry/entities/units/types/Drone.java | 2 +- core/src/io/anuke/mindustry/graphics/Trail.java | 3 ++- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/core/src/io/anuke/mindustry/entities/units/FlyingUnit.java b/core/src/io/anuke/mindustry/entities/units/FlyingUnit.java index 7a5c5a8d61..fb73ea385d 100644 --- a/core/src/io/anuke/mindustry/entities/units/FlyingUnit.java +++ b/core/src/io/anuke/mindustry/entities/units/FlyingUnit.java @@ -217,7 +217,7 @@ public abstract class FlyingUnit extends BaseUnit implements CarryTrait{ vec.set(target.getX() - x, target.getY() - y); - float length = Mathf.clamp((distanceTo(target) - circleLength) / 100f, -1f, 1f); + float length = circleLength <= 0.001f ? 1f : Mathf.clamp((distanceTo(target) - circleLength) / 100f, -1f, 1f); vec.setLength(type.speed * Timers.delta() * length); if(length < 0) vec.rotate(180f); diff --git a/core/src/io/anuke/mindustry/entities/units/types/Drone.java b/core/src/io/anuke/mindustry/entities/units/types/Drone.java index 9525630b92..9815830d0d 100644 --- a/core/src/io/anuke/mindustry/entities/units/types/Drone.java +++ b/core/src/io/anuke/mindustry/entities/units/types/Drone.java @@ -191,7 +191,7 @@ public class Drone extends FlyingUnit implements BuilderTrait{ public void update(){ ItemDrop item = (ItemDrop) target; - if(item == null || inventory.isFull() || !inventory.canAcceptItem(item.getItem(), 1)){ + if(item == null || inventory.isFull() || item.getItem().type != ItemType.material || !inventory.canAcceptItem(item.getItem(), 1)){ setState(drop); return; } diff --git a/core/src/io/anuke/mindustry/graphics/Trail.java b/core/src/io/anuke/mindustry/graphics/Trail.java index badf28a389..a9435e735e 100644 --- a/core/src/io/anuke/mindustry/graphics/Trail.java +++ b/core/src/io/anuke/mindustry/graphics/Trail.java @@ -3,6 +3,7 @@ package io.anuke.mindustry.graphics; import com.badlogic.gdx.graphics.Color; import com.badlogic.gdx.math.Vector2; import com.badlogic.gdx.utils.FloatArray; +import io.anuke.ucore.core.Timers; import io.anuke.ucore.graphics.Draw; import io.anuke.ucore.graphics.Fill; import io.anuke.ucore.graphics.Lines; @@ -28,7 +29,7 @@ public class Trail{ points.add(curx, cury); - if(points.size > length * 2){ + if(points.size > (int)(length * 2 / Math.min(Timers.delta(), 1f))){ float[] items = points.items; System.arraycopy(items, 2, items, 0, points.size - 2); points.size -= 2;