From 20529d3ebc7e69784774461c5cbdfa4cc9cef0c7 Mon Sep 17 00:00:00 2001 From: Anuken Date: Tue, 5 Feb 2019 13:49:43 -0500 Subject: [PATCH] Various mobile bugfixes --- core/assets/maps/groundZero.mmap | Bin 330975 -> 330975 bytes .../src/io/anuke/mindustry/core/Renderer.java | 2 +- .../io/anuke/mindustry/input/MobileInput.java | 10 ++++------ .../mindustry/ui/dialogs/PausedDialog.java | 2 +- .../mindustry/ui/dialogs/TechTreeDialog.java | 2 +- .../mindustry/ui/fragments/HudFragment.java | 17 +++++++---------- 6 files changed, 14 insertions(+), 19 deletions(-) diff --git a/core/assets/maps/groundZero.mmap b/core/assets/maps/groundZero.mmap index 159b936f8357141377a04cd50d1202ef08b5449e..b73cd867af080cbf2f4a3f13eb9a4f4d194305b0 100644 GIT binary patch delta 1987 zcmcaVQ{?_kk%lddhxw$mB^ekPz=RH*1>sI#sKh8dT~v!nU>iTwys4KMFIRU}1xpw|&0^<7|@IpjK^P;KjI~ zWx9L;6W8>VNXDq`3+$K;KziM_En!k)1X;woJtc(kH$=_$%t*#>EYkygnU&%8X-s#J zVA9+ED2}lfEF&;I!GoD|`aVNOuIcL&nYpJ2STh+;cVJ)1P-Ehsp7)kn6U6lgS!XnTf;to1 z^t4t+|Lq?8v^km(}RH)u1mP0xSJtO2qjWV?eb(|sl$h+dHEv?Qm`tzs6R zz91VE+6Bxa(?3jRt^=txoNlm!B@D!}hMU9+F^=j;6_XGAtOcd6+1ni=Sb`B= zVPS{roL-;CEWX{xnduR_kO$LU7B+|jLD^Vh`ucii*6lvNOgC7hAi@a8gB`%Yz`&q0 zePJnc&vb#Gj9(`o_}Mf4f*W(swg_eqCV8w{K>D;%_5GSIV9c_2a>8w0koPsgngyVa z1z7;nqO)B;hUo)_>-eWHaAhpnF7T6)lM!tDffr11(?9evt89y4c4iWQI00+`nAonB z#`J+j5G<^PFZ0G>!ueRWV|*x;U7p%#dLwW%*E3a8X5VwMKJp@ zA@V*vZooOM;2`4;xR!t-CYx;$%rlsl%hxk0PtPl0=7whD7G~S+1&f$&uL6|?Qqwog zV3vhAZh;qL{`M^&zkad#V^TL_Gu`p^+&q`!=0F|SnlMnn9nXa&r zY5isc-gKtv8#-A2gG)N7*39V(Bp6wtrGd=!+8AaHP|3@>eSISHRu*s94|0%({Jj74u0Jkh^B6Gb&E+DPIH%68_XCbpoOdslMg6f`Qer{wF}H; L-Yzhg<$OK>Ws*wK delta 2010 zcmcaVQ{?_kk%lddhxw+j-^k21eFG;W>-2M{n7O8JSj5aZef=V4E-l?#>6`PZYYb$bOB9fo9Q1;G0RUr@bl^P_*_PT=?Ov1T+>7tS*EKbGD%Hm z)nF8vCc?C`>uyGqX;YU&O>U zeV;I+z;t~vCeGFbpkS*I`PW9HhvUWf4p3zL@QbVV^H@$Cx?86QEcpT3};S#tUUYlsP4(-(L# z22B62!^k%Mw=5&)c3E@A1eWOm&djXao2(gsgY~dZ*Q;mZn!aA0k#+id9Yzt5)nJXO zlMnplntp?Yk$)RM;}xdK3cSYC54>Q?n|$Es+35;@8Tr8;%nJvFq7IUU`P)C-XO?E3 zY{1I}QlB#Uz|RxYH*93)obGMMED84>*Y*WojQd$8EAaA9Um(HAHvQZIX1?k1cA#Kz zU@V!Y#d3YK0dG3fwk1pkjMLW(GjdPY=V9Ul>F0vGQDb_7G*cMdLjGw>n7k(+_<0)? zSt8TpoteQQ3HFZe^aL43Or;{zH|%0L4EE3T1Yc%hB%>W9nDn+kies#0nJ)jA5o{dm z^nHemT+`PlGILK4ux2ux?!dw%wf#miV>`$rtYBwu&(C1oumY|H>evJiruEYeRX|1i@UkH(+tALU3|3K)!&o#;oN2-2gxjnjt3;-6 z&}L+tp8u9v1Ef1-yMrv#eNc=-buXx576Bzb*6HgDm_??4n9N)UQfCNp@CFA)Yq%+_ z5Tp1ESh%L|=Vg+ceBdW2)I&f@9j7OVF*$9EVD@AJMK~)Y$I00+a!t=FVCJ8`TAh&- zl*YI~*6@RLgn_I{o+i#Tar*)_rWR&UCgGaCUff!T8sw(ro+I%z@RgIVJUOZbb+6YUnd{<*)#ou8*|UL z2xeaZuIURL z7)z!XTwwe^U4WU1fAWE!?VwDweL*f$3lpQ(bOkXcB~XEaNXD0@CloT~fpU`tDD1We z6fxaonyw755M8$N0xy;4W6B-%$w?#1ffs-@qbcHG=&gm+GOkhJ6 zz?B9RG1+X3V4lIWT)v)3dHRAy%&gP*tzl-Hz8_Rl?`vVU-CnSW>GrD03cRdvpGiPU z3s`vx&gJ>rBA9P6Z4WrcEX)Y9n{!$Lv&b|LW_M761eZYE+Y^GAze2(TT<$~%G4pND z3upeuGCePnkquPDvrNwmXXf8t8^ipZg-J_ndSW=U%=FqAW(`nT%DR1hBJ);=0qcbs zxu!2wXOx@1pn#cw`+_v)lMo58$#rIoT+>TpK!r*vs5pm}^V=6>GhYUm>0F?if^~aS z0rN+e>6u=P{M(yKK@LG^U#-r_H@ydxD?!!7_VrZ|8^F1M5A4k8J*CVd+t=4KpM$0J zPA1vy3tE^T!T2pqd`N}-0z*(q-w7(VVGaVN1lH;6OPTAY7pO5R!^_j2>7a<2eBh@W zDEL^XD}YP_m-uIuK*b=M{sLw$Z~%eJ$H@iPgtvd_V_wJt&WzLZN}1WFFH>ja+rEA> q$hSM!Fbhmi@L-leEz!B4WuXp}4=Dcl;cjVa7nsYuU0^QD`FsEeL9Xrq diff --git a/core/src/io/anuke/mindustry/core/Renderer.java b/core/src/io/anuke/mindustry/core/Renderer.java index ce972efa1e..cf077199bf 100644 --- a/core/src/io/anuke/mindustry/core/Renderer.java +++ b/core/src/io/anuke/mindustry/core/Renderer.java @@ -261,7 +261,7 @@ public class Renderer implements ApplicationListener{ playerGroup.count(p -> p.isFlying() == flying && p.getTeam() == team) == 0 && flying) continue; drawAndInterpolate(unitGroups[team.ordinal()], u -> u.isFlying() == flying && !u.isDead(), Unit::drawUnder); - drawAndInterpolate(playerGroup, p -> p.isFlying() == flying && p.getTeam() == team, Unit::drawUnder); + drawAndInterpolate(playerGroup, p -> p.isFlying() == flying && p.getTeam() == team && !p.isDead(), Unit::drawUnder); Shaders.outline.color.set(team.color); Shaders.mix.color.set(Color.WHITE); diff --git a/core/src/io/anuke/mindustry/input/MobileInput.java b/core/src/io/anuke/mindustry/input/MobileInput.java index b7af9dace3..4675c07b81 100644 --- a/core/src/io/anuke/mindustry/input/MobileInput.java +++ b/core/src/io/anuke/mindustry/input/MobileInput.java @@ -3,7 +3,6 @@ package io.anuke.mindustry.input; import io.anuke.arc.Core; import io.anuke.arc.collection.Array; import io.anuke.arc.collection.ObjectSet; -import io.anuke.mindustry.entities.Effects; import io.anuke.arc.graphics.Color; import io.anuke.arc.graphics.g2d.Draw; import io.anuke.arc.graphics.g2d.Lines; @@ -21,11 +20,12 @@ import io.anuke.arc.util.Time; import io.anuke.mindustry.content.Blocks; import io.anuke.mindustry.content.Fx; import io.anuke.mindustry.core.GameState.State; +import io.anuke.mindustry.entities.Effects; +import io.anuke.mindustry.entities.Units; +import io.anuke.mindustry.entities.traits.TargetTrait; import io.anuke.mindustry.entities.type.Player; import io.anuke.mindustry.entities.type.TileEntity; import io.anuke.mindustry.entities.type.Unit; -import io.anuke.mindustry.entities.Units; -import io.anuke.mindustry.entities.traits.TargetTrait; import io.anuke.mindustry.graphics.Palette; import io.anuke.mindustry.graphics.Shaders; import io.anuke.mindustry.input.PlaceUtils.NormalizeDrawResult; @@ -642,7 +642,6 @@ public class MobileInput extends InputHandler implements GestureListener{ @Override public boolean pan(float x, float y, float deltaX, float deltaY){ - if(!canPan) return false; float scale = Core.camera.width / Core.graphics.getWidth(); deltaX *= scale; deltaY *= scale; @@ -671,7 +670,7 @@ public class MobileInput extends InputHandler implements GestureListener{ public boolean zoom(float initialDistance, float distance){ if(lastDistance == -1) lastDistance = initialDistance; - float amount = (distance > lastDistance ? 0.07f : -0.07f) * Time.delta(); + float amount = (Mathf.sign(distance > lastDistance) * 0.07f) * Time.delta(); renderer.scaleCamera(io.anuke.arc.scene.ui.layout.Unit.dp.scl(amount)); lastDistance = distance; return true; @@ -679,7 +678,6 @@ public class MobileInput extends InputHandler implements GestureListener{ @Override public boolean touchDown(float x, float y, int pointer, KeyCode button){ - canPan = !Core.scene.hasMouse(); return false; } diff --git a/core/src/io/anuke/mindustry/ui/dialogs/PausedDialog.java b/core/src/io/anuke/mindustry/ui/dialogs/PausedDialog.java index dbbbebe360..76cb78078f 100644 --- a/core/src/io/anuke/mindustry/ui/dialogs/PausedDialog.java +++ b/core/src/io/anuke/mindustry/ui/dialogs/PausedDialog.java @@ -40,7 +40,7 @@ public class PausedDialog extends FloatingDialog{ cont.addButton("$back", this::hide).colspan(2).width(dw*2 + 20f); cont.row(); - cont.addButton("techtree", ui.tech::show); + cont.addButton("$techtree", ui.tech::show); cont.addButton("$settings", ui.settings::show); if(!world.isZone()){ diff --git a/core/src/io/anuke/mindustry/ui/dialogs/TechTreeDialog.java b/core/src/io/anuke/mindustry/ui/dialogs/TechTreeDialog.java index 4d9b35a832..06bfd3d58a 100644 --- a/core/src/io/anuke/mindustry/ui/dialogs/TechTreeDialog.java +++ b/core/src/io/anuke/mindustry/ui/dialogs/TechTreeDialog.java @@ -147,7 +147,7 @@ public class TechTreeDialog extends FloatingDialog{ } }); button.exited(() -> { - if(hoverNode == button && !infoTable.hasMouse() && !hoverNode.hasMouse()){ + if(!mobile && hoverNode == button && !infoTable.hasMouse() && !hoverNode.hasMouse()){ hoverNode = null; rebuild(); } diff --git a/core/src/io/anuke/mindustry/ui/fragments/HudFragment.java b/core/src/io/anuke/mindustry/ui/fragments/HudFragment.java index 4153f35793..7f9caf9b8a 100644 --- a/core/src/io/anuke/mindustry/ui/fragments/HudFragment.java +++ b/core/src/io/anuke/mindustry/ui/fragments/HudFragment.java @@ -54,7 +54,6 @@ public class HudFragment extends Fragment{ //menu at top left parent.fill(cont -> { - cont.top().left().visible(() -> !state.is(State.menu)); if(mobile){ @@ -147,12 +146,6 @@ public class HudFragment extends Fragment{ //minimap //parent.fill(t -> t.top().right().add(new Minimap()).visible(() -> !state.is(State.menu) && Core.settings.getBool("minimap"))); - //paused table - parent.fill(t -> { - t.top().visible(() -> state.is(State.paused) && !Net.active()); - t.table("button", top -> top.add("$paused").pad(6f)); - }); - //spawner warning parent.fill(t -> { t.touchable(Touchable.disabled); @@ -222,8 +215,9 @@ public class HudFragment extends Fragment{ .update(label -> label.getColor().set(Color.ORANGE).lerp(Color.SCARLET, Mathf.absin(Time.time(), 2f, 1f)))); }); + //launch button parent.fill(t -> { - t.top().right().visible(() -> !state.is(State.menu)); + t.top().visible(() -> !state.is(State.menu)); TextButton button = Elements.newButton("$launch", Call::launchZone); @@ -252,9 +246,12 @@ public class HudFragment extends Fragment{ button.getLabelCell().left().get().setAlignment(Align.left, Align.left); t.add(button).size(350f, 80f); + }); - //.addRowImageTextButton("$launch", "icon-arrow-up", 8*3, Call::launchZone) - //.size(94f, 70f).visible(() -> world.isZone() && world.getZone().metCondition() && !Net.client()); + //paused table + parent.fill(t -> { + t.top().visible(() -> state.is(State.paused) && !Net.active()); + t.table("button", top -> top.add("$paused").pad(6f)); }); //'saving' indicator