From 6b42525f8a12b7fad797dbff80d62eacfc3ff12a Mon Sep 17 00:00:00 2001 From: Anuken Date: Tue, 13 Feb 2018 17:21:14 -0500 Subject: [PATCH] Added tile background to background for large screens --- .../io/anuke/mindustry/AndroidLauncher.java | 5 +++ core/assets/sprites/background.png | Bin 0 -> 208 bytes core/assets/version.properties | 4 +- .../src/io/anuke/mindustry/core/Renderer.java | 40 ++++++++++++++++-- .../mindustry/ui/fragments/DebugFragment.java | 2 +- core/src/io/anuke/mindustry/world/Block.java | 2 +- .../blocks/types/distribution/Teleporter.java | 11 ++++- 7 files changed, 55 insertions(+), 9 deletions(-) create mode 100644 core/assets/sprites/background.png diff --git a/android/src/io/anuke/mindustry/AndroidLauncher.java b/android/src/io/anuke/mindustry/AndroidLauncher.java index 0dbcb13cac..8870d5b567 100644 --- a/android/src/io/anuke/mindustry/AndroidLauncher.java +++ b/android/src/io/anuke/mindustry/AndroidLauncher.java @@ -92,6 +92,11 @@ public class AndroidLauncher extends AndroidApplication{ public ThreadProvider getThreadProvider() { return new DefaultThreadImpl(); } + + @Override + public boolean isDebug() { + return false; + } }; if(doubleScaleTablets && isTablet(this.getContext())){ diff --git a/core/assets/sprites/background.png b/core/assets/sprites/background.png new file mode 100644 index 0000000000000000000000000000000000000000..ee3aa9ba6f49e085d821d27cd39db1d29a087d57 GIT binary patch literal 208 zcmeAS@N?(olHy`uVBq!ia0y~yVBi2@4kiW$2Jc+WI}8jAoCO|{#S9GG!XV7ZFl&wk z0|NtliKnkC`y(b^Q8RX-^nW)Q7#Ji=Tq8=H^K)}k^GX<;i&7IyQd1PlGfOfQ+&z5* z!W;R-85kJ6JY5_^IIidRZsa}Sz{AujdXl*!BL7Vvp_)>}RP*}mo1$qIFEUCF?}z~JfX=d#Wz Gp$P!AM?Tj8 literal 0 HcmV?d00001 diff --git a/core/assets/version.properties b/core/assets/version.properties index 07a7481978..381c1a34c9 100644 --- a/core/assets/version.properties +++ b/core/assets/version.properties @@ -1,7 +1,7 @@ #Autogenerated file. Do not modify. -#Mon Feb 12 18:20:29 EST 2018 +#Tue Feb 13 17:19:41 EST 2018 version=beta -androidBuildCode=180 +androidBuildCode=183 name=Mindustry code=3.3 build=custom build diff --git a/core/src/io/anuke/mindustry/core/Renderer.java b/core/src/io/anuke/mindustry/core/Renderer.java index 22881b3e21..3e45f5dee5 100644 --- a/core/src/io/anuke/mindustry/core/Renderer.java +++ b/core/src/io/anuke/mindustry/core/Renderer.java @@ -4,6 +4,7 @@ import com.badlogic.gdx.Gdx; import com.badlogic.gdx.graphics.Color; import com.badlogic.gdx.graphics.Colors; import com.badlogic.gdx.graphics.Texture; +import com.badlogic.gdx.graphics.Texture.TextureWrap; import com.badlogic.gdx.graphics.g2d.GlyphLayout; import com.badlogic.gdx.math.Rectangle; import com.badlogic.gdx.math.Vector2; @@ -48,6 +49,7 @@ public class Renderer extends RendererModule{ public Surface shadowSurface, shieldSurface, indicatorSurface; private int targetscale = baseCameraScale; + private Texture background = new Texture("sprites/background.png"); private FloatArray shieldHits = new FloatArray(); private Array shieldDraws = new Array<>(); private Rectangle rect = new Rectangle(), rect2 = new Rectangle(); @@ -67,9 +69,11 @@ public class Renderer extends RendererModule{ } } }); - + clearColor = Hue.lightness(0.4f); clearColor.a = 1f; + + background.setWrap(TextureWrap.Repeat, TextureWrap.Repeat); } @Override @@ -172,6 +176,8 @@ public class Renderer extends RendererModule{ //clears shield surface Graphics.surface(shieldSurface); Graphics.surface(); + + drawPadding(); blocks.drawFloor(); blocks.processBlocks(); @@ -215,11 +221,39 @@ public class Renderer extends RendererModule{ control.input().resetCursor(); camera.position.set(player.x, player.y, 0); } - + + @Override + public void dispose() { + background.dispose(); + } + public void clearTiles(){ blocks.clearTiles(); } + void drawPadding(){ + float vw = world.width() * tilesize; + float cw = camera.viewportWidth * camera.zoom; + float ch = camera.viewportHeight * camera.zoom; + if(vw < cw){ + batch.draw(background, + camera.position.x + vw/2, + Mathf.round(camera.position.y - ch/2, tilesize), + (cw - vw) /2, + ch + tilesize, + 0, ch / tilesize + 1, + ((cw - vw) / 2 / tilesize), 0); + + batch.draw(background, + camera.position.x - vw/2, + Mathf.round(camera.position.y - ch/2, tilesize), + -(cw - vw) /2, + ch + tilesize, + 0, ch / tilesize + 1, + -((cw - vw) / 2 / tilesize), 0); + } + } + void drawPlayerNames(){ GlyphLayout layout = Pools.obtain(GlyphLayout.class); @@ -505,7 +539,7 @@ public class Renderer extends RendererModule{ } public void clampScale(){ - targetscale = Mathf.clamp(targetscale, Math.round(Unit.dp.scl(2)), Math.round(Unit.dp.scl((5)))); + targetscale = Mathf.clamp(targetscale, Math.round(Unit.dp.scl(1)), Math.round(Unit.dp.scl((5)))); } } diff --git a/core/src/io/anuke/mindustry/ui/fragments/DebugFragment.java b/core/src/io/anuke/mindustry/ui/fragments/DebugFragment.java index 381c5d7944..2e3cb2cf12 100644 --- a/core/src/io/anuke/mindustry/ui/fragments/DebugFragment.java +++ b/core/src/io/anuke/mindustry/ui/fragments/DebugFragment.java @@ -68,7 +68,7 @@ public class DebugFragment implements Fragment { }); row(); new button("time", () -> { - Timers.resetTime(10368000); + Timers.resetTime(1080000/2f); }); row(); new button("time2", () -> { diff --git a/core/src/io/anuke/mindustry/world/Block.java b/core/src/io/anuke/mindustry/world/Block.java index 87c074c2fb..1707bf76b9 100644 --- a/core/src/io/anuke/mindustry/world/Block.java +++ b/core/src/io/anuke/mindustry/world/Block.java @@ -120,7 +120,7 @@ public class Block{ public void configure(Tile tile, byte data){} public void setConfigure(Tile tile, byte data){ - NetEvents.handleBlockConfig(tile, data); + if(Net.active()) NetEvents.handleBlockConfig(tile, data); } public boolean isConfigurable(Tile tile){ diff --git a/core/src/io/anuke/mindustry/world/blocks/types/distribution/Teleporter.java b/core/src/io/anuke/mindustry/world/blocks/types/distribution/Teleporter.java index 339932a506..b7acb09e53 100644 --- a/core/src/io/anuke/mindustry/world/blocks/types/distribution/Teleporter.java +++ b/core/src/io/anuke/mindustry/world/blocks/types/distribution/Teleporter.java @@ -4,6 +4,8 @@ import com.badlogic.gdx.graphics.Color; import com.badlogic.gdx.utils.Array; import com.badlogic.gdx.utils.ObjectSet; import io.anuke.mindustry.entities.TileEntity; +import io.anuke.mindustry.net.Net; +import io.anuke.mindustry.net.NetEvents; import io.anuke.mindustry.resource.Item; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.blocks.types.PowerBlock; @@ -133,8 +135,13 @@ public class Teleporter extends PowerBlock{ Array links = findLinks(tile); if(links.size > 0){ - Tile target = links.random(); - target.entity.addItem(item, 1); + + if(Net.server() || !Net.active()){ + Tile target = links.random(); + target.entity.addItem(item, 1); + + if(Net.server()) NetEvents.handleItemAdd(target, item); + } } entity.power -= powerPerItem;