From 79b0e76be03199d83c6339c4434b54908b81633b Mon Sep 17 00:00:00 2001 From: Anuken Date: Tue, 23 Apr 2019 11:59:07 -0400 Subject: [PATCH] Bugfixes / Unit test fix --- core/assets/maps/tarFields.mmap | Bin 48492 -> 16849 bytes .../src/io/anuke/mindustry/content/Zones.java | 2 +- .../src/io/anuke/mindustry/core/Renderer.java | 7 +++++ .../io/anuke/mindustry/game/GlobalData.java | 2 +- .../mindustry/graphics/BlockRenderer.java | 11 ++++++- .../mindustry/graphics/FloorRenderer.java | 10 +++++- .../maps/generators/MapGenerator.java | 2 +- core/src/io/anuke/mindustry/ui/ItemImage.java | 9 ------ .../ui/fragments/BlockConfigFragment.java | 6 ---- .../ui/fragments/BlockInventoryFragment.java | 29 ++++++++++++------ .../mindustry/ui/fragments/ChatFragment.java | 2 +- .../ui/fragments/OverlayFragment.java | 6 ++-- core/src/io/anuke/mindustry/world/Block.java | 3 +- 13 files changed, 54 insertions(+), 35 deletions(-) diff --git a/core/assets/maps/tarFields.mmap b/core/assets/maps/tarFields.mmap index 5bb40509cb756ac699173cf43cdb6082d3cd2ddc..402a7c7f07cd5a2f5e583c1834ef42291bb630c1 100644 GIT binary patch literal 16849 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 literal 48492 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 diff --git a/core/src/io/anuke/mindustry/content/Zones.java b/core/src/io/anuke/mindustry/content/Zones.java index 88bfb5541c..39dcdd1d66 100644 --- a/core/src/io/anuke/mindustry/content/Zones.java +++ b/core/src/io/anuke/mindustry/content/Zones.java @@ -147,7 +147,7 @@ public class Zones implements ContentList{ }}; }}; - tarFields = new Zone("tarFields", new MapGenerator("tarFields", 1) + tarFields = new Zone("tarFields", new MapGenerator("tarFields") .dist(0f, false) .decor(new Decoration(Blocks.shale, Blocks.shaleBoulder, 0.02))){{ loadout = Loadouts.basicFoundation; diff --git a/core/src/io/anuke/mindustry/core/Renderer.java b/core/src/io/anuke/mindustry/core/Renderer.java index 9e4c6bfb2d..4bf4f1b89f 100644 --- a/core/src/io/anuke/mindustry/core/Renderer.java +++ b/core/src/io/anuke/mindustry/core/Renderer.java @@ -126,6 +126,13 @@ public class Renderer implements ApplicationListener{ } } + @Override + public void dispose(){ + minimap.dispose(); + shieldBuffer.dispose(); + blocks.dispose(); + } + void updateShake(float scale){ if(shaketime > 0){ float intensity = shakeIntensity * (settings.getInt("screenshake", 4) / 4f) * scale; diff --git a/core/src/io/anuke/mindustry/game/GlobalData.java b/core/src/io/anuke/mindustry/game/GlobalData.java index 11dabeb994..f472325bee 100644 --- a/core/src/io/anuke/mindustry/game/GlobalData.java +++ b/core/src/io/anuke/mindustry/game/GlobalData.java @@ -77,7 +77,7 @@ public class GlobalData{ /** * Makes this piece of content 'unlocked', if possible. - * If this piece of content is already unlocked or cannot be unlocked due to dependencies, nothing changes. + * If this piece of content is already unlocked, nothing changes. * Results are not saved until you call {@link #save()}. */ public void unlockContent(UnlockableContent content){ diff --git a/core/src/io/anuke/mindustry/graphics/BlockRenderer.java b/core/src/io/anuke/mindustry/graphics/BlockRenderer.java index e2873a87ee..7f0843c058 100644 --- a/core/src/io/anuke/mindustry/graphics/BlockRenderer.java +++ b/core/src/io/anuke/mindustry/graphics/BlockRenderer.java @@ -9,6 +9,7 @@ import io.anuke.arc.graphics.Texture.TextureFilter; import io.anuke.arc.graphics.g2d.Draw; import io.anuke.arc.graphics.g2d.Fill; import io.anuke.arc.graphics.glutils.FrameBuffer; +import io.anuke.arc.util.Disposable; import io.anuke.arc.util.Tmp; import io.anuke.mindustry.content.Blocks; import io.anuke.mindustry.game.EventType.TileChangeEvent; @@ -20,7 +21,7 @@ import io.anuke.mindustry.world.Tile; import static io.anuke.arc.Core.camera; import static io.anuke.mindustry.Vars.*; -public class BlockRenderer{ +public class BlockRenderer implements Disposable{ private final static int initialRequests = 32 * 32; private final static int expandr = 9; private final static Color shadowColor = new Color(0, 0, 0, 0.71f); @@ -294,6 +295,14 @@ public class BlockRenderer{ requestidx++; } + @Override + public void dispose(){ + shadows.dispose(); + fog.dispose(); + shadows = fog = null; + floor.dispose(); + } + private class BlockRequest implements Comparable{ Tile tile; Layer layer; diff --git a/core/src/io/anuke/mindustry/graphics/FloorRenderer.java b/core/src/io/anuke/mindustry/graphics/FloorRenderer.java index b3276147dc..df6a420be4 100644 --- a/core/src/io/anuke/mindustry/graphics/FloorRenderer.java +++ b/core/src/io/anuke/mindustry/graphics/FloorRenderer.java @@ -18,7 +18,7 @@ import java.util.Arrays; import static io.anuke.mindustry.Vars.tilesize; import static io.anuke.mindustry.Vars.world; -public class FloorRenderer{ +public class FloorRenderer implements Disposable{ private final static int chunksize = 64; private Chunk[][] cache; @@ -221,6 +221,14 @@ public class FloorRenderer{ Log.info("Time to cache: {0}", Time.elapsed()); } + @Override + public void dispose(){ + if(cbatch != null){ + cbatch.dispose(); + cbatch = null; + } + } + private class Chunk{ int[] caches = new int[CacheLayer.values().length]; } diff --git a/core/src/io/anuke/mindustry/maps/generators/MapGenerator.java b/core/src/io/anuke/mindustry/maps/generators/MapGenerator.java index 46811f808f..9f244d01de 100644 --- a/core/src/io/anuke/mindustry/maps/generators/MapGenerator.java +++ b/core/src/io/anuke/mindustry/maps/generators/MapGenerator.java @@ -152,7 +152,7 @@ public class MapGenerator extends Generator{ if(enemySpawns != -1){ if(enemySpawns > enemies.size){ - throw new IllegalArgumentException("Enemy spawn pool greater than map spawn number."); + throw new IllegalArgumentException("Enemy spawn pool greater than map spawn number for map: " + mapName); } enemies.shuffle(); diff --git a/core/src/io/anuke/mindustry/ui/ItemImage.java b/core/src/io/anuke/mindustry/ui/ItemImage.java index 6ef197b8d9..e7bed333b1 100644 --- a/core/src/io/anuke/mindustry/ui/ItemImage.java +++ b/core/src/io/anuke/mindustry/ui/ItemImage.java @@ -1,6 +1,5 @@ package io.anuke.mindustry.ui; -import io.anuke.arc.function.Supplier; import io.anuke.arc.graphics.g2d.TextureRegion; import io.anuke.arc.scene.ui.Image; import io.anuke.arc.scene.ui.layout.Stack; @@ -18,14 +17,6 @@ public class ItemImage extends Stack{ add(t); } - public ItemImage(TextureRegion region, Supplier text){ - Table t = new Table().left().bottom(); - t.label(text).name("item-label"); - - add(new Image(region)); - add(t); - } - public ItemImage(ItemStack stack){ add(new Image(stack.item.icon(Icon.large))); diff --git a/core/src/io/anuke/mindustry/ui/fragments/BlockConfigFragment.java b/core/src/io/anuke/mindustry/ui/fragments/BlockConfigFragment.java index e51801c200..392a73c352 100644 --- a/core/src/io/anuke/mindustry/ui/fragments/BlockConfigFragment.java +++ b/core/src/io/anuke/mindustry/ui/fragments/BlockConfigFragment.java @@ -10,7 +10,6 @@ import io.anuke.arc.scene.ui.layout.Table; import io.anuke.arc.util.Align; import io.anuke.mindustry.content.Blocks; import io.anuke.mindustry.core.GameState.State; -import io.anuke.mindustry.input.InputHandler; import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.Tile; @@ -18,14 +17,9 @@ import static io.anuke.mindustry.Vars.*; public class BlockConfigFragment extends Fragment{ private Table table = new Table(); - private InputHandler input; private Tile configTile; private Block configBlock; - public BlockConfigFragment(InputHandler input){ - this.input = input; - } - @Override public void build(Group parent){ table.visible(false); diff --git a/core/src/io/anuke/mindustry/ui/fragments/BlockInventoryFragment.java b/core/src/io/anuke/mindustry/ui/fragments/BlockInventoryFragment.java index 77e0670121..3f7fcc2fe3 100644 --- a/core/src/io/anuke/mindustry/ui/fragments/BlockInventoryFragment.java +++ b/core/src/io/anuke/mindustry/ui/fragments/BlockInventoryFragment.java @@ -5,22 +5,25 @@ import io.anuke.annotations.Annotations.Remote; import io.anuke.arc.Core; import io.anuke.arc.collection.IntSet; import io.anuke.arc.function.BooleanProvider; +import io.anuke.arc.function.Supplier; +import io.anuke.arc.graphics.g2d.TextureRegion; import io.anuke.arc.input.KeyCode; import io.anuke.arc.math.Interpolation; import io.anuke.arc.math.Mathf; import io.anuke.arc.math.geom.Vector2; +import io.anuke.arc.scene.Element; import io.anuke.arc.scene.Group; import io.anuke.arc.scene.actions.Actions; import io.anuke.arc.scene.event.*; +import io.anuke.arc.scene.ui.Image; +import io.anuke.arc.scene.ui.layout.Stack; import io.anuke.arc.scene.ui.layout.Table; import io.anuke.arc.util.*; import io.anuke.mindustry.core.GameState.State; import io.anuke.mindustry.entities.type.Player; import io.anuke.mindustry.gen.Call; -import io.anuke.mindustry.input.InputHandler; import io.anuke.mindustry.type.Item; import io.anuke.mindustry.type.Item.Icon; -import io.anuke.mindustry.ui.ItemImage; import io.anuke.mindustry.world.Tile; import static io.anuke.mindustry.Vars.*; @@ -30,15 +33,10 @@ public class BlockInventoryFragment extends Fragment{ private Table table; private Tile tile; - private InputHandler input; private float holdTime = 0f; private boolean holding; private Item lastItem; - public BlockInventoryFragment(InputHandler input){ - this.input = input; - } - @Remote(called = Loc.server, targets = Loc.both, forward = true) public static void requestItem(Player player, Tile tile, Item item, int amount){ if(player == null || tile == null) return; @@ -133,7 +131,7 @@ public class BlockInventoryFragment extends Fragment{ HandCursorListener l = new HandCursorListener(); l.setEnabled(canPick); - ItemImage image = new ItemImage(item.icon(Icon.xlarge), () -> { + Element image = itemImage(item.icon(Icon.xlarge), () -> { if(tile == null || tile.entity == null){ return ""; } @@ -182,9 +180,9 @@ public class BlockInventoryFragment extends Fragment{ private String round(float f){ f = (int)f; if(f >= 1000000){ - return Strings.fixed(f / 1000000f, 1) + "[gray]mil[]"; + return (int)(f / 1000000f) + "[gray]mil[]"; }else if(f >= 1000){ - return Strings.fixed(f / 1000, 1) + "k"; + return (int)(f / 1000) + "k"; }else{ return (int)f + ""; } @@ -195,4 +193,15 @@ public class BlockInventoryFragment extends Fragment{ table.pack(); table.setPosition(v.x, v.y, Align.topLeft); } + + private Element itemImage(TextureRegion region, Supplier text){ + Stack stack = new Stack(); + + Table t = new Table().left().bottom(); + t.label(text); + + stack.add(new Image(region)); + stack.add(t); + return stack; + } } diff --git a/core/src/io/anuke/mindustry/ui/fragments/ChatFragment.java b/core/src/io/anuke/mindustry/ui/fragments/ChatFragment.java index df9e17abdf..f2bcf3ea48 100644 --- a/core/src/io/anuke/mindustry/ui/fragments/ChatFragment.java +++ b/core/src/io/anuke/mindustry/ui/fragments/ChatFragment.java @@ -34,7 +34,6 @@ public class ChatFragment extends Table{ private BitmapFont font; private GlyphLayout layout = new GlyphLayout(); private float offsetx = Unit.dp.scl(4), offsety = Unit.dp.scl(4), fontoffsetx = Unit.dp.scl(2), chatspace = Unit.dp.scl(50); - private float textWidth = Unit.dp.scl(600); private Color shadowColor = new Color(0, 0, 0, 0.4f); private float textspacing = Unit.dp.scl(10); private Array history = new Array<>(); @@ -124,6 +123,7 @@ public class ChatFragment extends Table{ @Override public void draw(){ float opacity = Core.settings.getInt("chatopacity") / 100f; + float textWidth = Math.min(Core.graphics.getWidth()/1.5f, Unit.dp.scl(700f)); Draw.color(shadowColor); diff --git a/core/src/io/anuke/mindustry/ui/fragments/OverlayFragment.java b/core/src/io/anuke/mindustry/ui/fragments/OverlayFragment.java index 6493496d76..c7fd119393 100644 --- a/core/src/io/anuke/mindustry/ui/fragments/OverlayFragment.java +++ b/core/src/io/anuke/mindustry/ui/fragments/OverlayFragment.java @@ -3,7 +3,7 @@ package io.anuke.mindustry.ui.fragments; import io.anuke.arc.scene.Group; import io.anuke.mindustry.input.InputHandler; -/** Fragment for displaying overlays such as block inventories. One is created for each input handler. */ +/** Fragment for displaying overlays such as block inventories. */ public class OverlayFragment extends Fragment{ public final BlockInventoryFragment inv; public final BlockConfigFragment config; @@ -11,8 +11,8 @@ public class OverlayFragment extends Fragment{ private Group group = new Group(); public OverlayFragment(InputHandler input){ - inv = new BlockInventoryFragment(input); - config = new BlockConfigFragment(input); + inv = new BlockInventoryFragment(); + config = new BlockConfigFragment(); } @Override diff --git a/core/src/io/anuke/mindustry/world/Block.java b/core/src/io/anuke/mindustry/world/Block.java index 63bba0c07f..d1caf70b5c 100644 --- a/core/src/io/anuke/mindustry/world/Block.java +++ b/core/src/io/anuke/mindustry/world/Block.java @@ -284,7 +284,8 @@ public class Block extends BlockStorage{ /** Call when some content is produced. This unlocks the content if it is applicable. */ public void useContent(Tile tile, UnlockableContent content){ - if(!headless && tile.getTeam() == player.getTeam()){ + //only unlocks content in zones + if(!headless && tile.getTeam() == player.getTeam() && world.isZone()){ logic.handleContent(content); } }