diff --git a/core/assets-raw/sprites/ui/icons/icon-settings.png b/core/assets-raw/sprites/ui/icons/icon-settings.png index a1e2dad31c..8c0cfc49f6 100644 Binary files a/core/assets-raw/sprites/ui/icons/icon-settings.png and b/core/assets-raw/sprites/ui/icons/icon-settings.png differ diff --git a/core/assets/sprites/sprites.png b/core/assets/sprites/sprites.png index 33ad1545c8..94daf26dec 100644 Binary files a/core/assets/sprites/sprites.png and b/core/assets/sprites/sprites.png differ diff --git a/core/src/io/anuke/mindustry/Vars.java b/core/src/io/anuke/mindustry/Vars.java index 941b44b71a..3e6b6d593f 100644 --- a/core/src/io/anuke/mindustry/Vars.java +++ b/core/src/io/anuke/mindustry/Vars.java @@ -23,10 +23,10 @@ import java.util.Locale; public class Vars{ public static final String versionName = "Mindustry"; + public static final String versionType = "Beta"; public static final byte versionBuild = 20; public static final byte versionMajor = 3; public static final byte versionMinor = 3; - public static final String versionType = "Beta"; public static final boolean testAndroid = false; //shorthand for whether or not this is running on android diff --git a/core/src/io/anuke/mindustry/core/NetClient.java b/core/src/io/anuke/mindustry/core/NetClient.java index f28dff41f5..8658182f9a 100644 --- a/core/src/io/anuke/mindustry/core/NetClient.java +++ b/core/src/io/anuke/mindustry/core/NetClient.java @@ -34,12 +34,13 @@ import java.nio.ByteBuffer; import static io.anuke.mindustry.Vars.*; public class NetClient extends Module { - boolean connecting = false; - boolean gotData = false; - boolean kicked = false; - IntSet recieved = new IntSet(); - float playerSyncTime = 2; - float dataTimeout = 60*18; //18 seconds timeout + private final static float dataTimeout = 60*18; //18 seconds timeout + private final static float playerSyncTime = 2; + + private boolean connecting = false; + private boolean gotData = false; + private boolean kicked = false; + private IntSet recieved = new IntSet(); public NetClient(){ diff --git a/core/src/io/anuke/mindustry/entities/Player.java b/core/src/io/anuke/mindustry/entities/Player.java index 305c70c297..d0332bb426 100644 --- a/core/src/io/anuke/mindustry/entities/Player.java +++ b/core/src/io/anuke/mindustry/entities/Player.java @@ -256,6 +256,8 @@ public class Player extends SyncEntity{ @Override public void write(ByteBuffer data) { + //TODO written angle is always 0 + data.putFloat(x); data.putFloat(y); data.putFloat(angle); diff --git a/core/src/io/anuke/mindustry/ui/fragments/HudFragment.java b/core/src/io/anuke/mindustry/ui/fragments/HudFragment.java index e69aa70c6c..dd73be6517 100644 --- a/core/src/io/anuke/mindustry/ui/fragments/HudFragment.java +++ b/core/src/io/anuke/mindustry/ui/fragments/HudFragment.java @@ -24,6 +24,7 @@ public class HudFragment implements Fragment{ private ImageButton menu, flip; private Table respawntable; private Table wavetable; + private Label infolabel; private boolean shown = true; public void build(){ @@ -54,10 +55,12 @@ public class HudFragment implements Fragment{ if (shown) { blockfrag.toggle(false, dur, in); wavetable.actions(Actions.translateBy(0, wavetable.getHeight() + dsize, dur, in), Actions.call(() -> shown = false)); + infolabel.actions(Actions.translateBy(0, wavetable.getHeight(), dur, in), Actions.call(() -> shown = false)); } else { shown = true; blockfrag.toggle(true, dur, in); wavetable.actions(Actions.translateBy(0, -wavetable.getTranslation().y, dur, in)); + infolabel.actions(Actions.translateBy(0, -infolabel.getTranslation().y, dur, in)); } }).get(); @@ -78,6 +81,24 @@ public class HudFragment implements Fragment{ } }).get(); + new imagebutton("icon-settings", isize, () -> { + if (Net.active() && android) { + if (ui.chatfrag.chatOpen()) { + ui.chatfrag.hide(); + } else { + ui.chatfrag.toggle(); + } + } else { + ui.settings.show(); + } + }).update(i -> { + if (Net.active() && android) { + i.getStyle().imageUp = Core.skin.getDrawable("icon-chat"); + } else { + i.getStyle().imageUp = Core.skin.getDrawable("icon-settings"); + } + }).get(); + }}.end(); row(); @@ -92,20 +113,14 @@ public class HudFragment implements Fragment{ visible(() -> !state.is(State.menu)); - Label fps = new Label(() -> (Settings.getBool("fps") ? (Gdx.graphics.getFramesPerSecond() + " FPS") + - (threads.isEnabled() ? " / " + threads.getFPS() + " TPS" : "") + (Net.client() && !gwt ? " / Ping: " + Net.getPing() : "") : "")); + infolabel = new Label(() -> (Settings.getBool("fps") ? (Gdx.graphics.getFramesPerSecond() + " FPS") + + (threads.isEnabled() ? " / " + threads.getFPS() + " TPS" : "") + (Net.client() && !gwt ? "\nPing: " + Net.getPing() : "") : "")); row(); - add(fps).size(-1); + add(infolabel).size(-1); }}.end(); - new imagebutton("icon-chat", 40f, () -> { - if (ui.chatfrag.chatOpen()) { - ui.chatfrag.hide(); - } else { - ui.chatfrag.toggle(); - } - }).visible(() -> Net.active() && android).top().left().size(58f).get(); + }}.end(); @@ -181,12 +196,14 @@ public class HudFragment implements Fragment{ getEnemiesRemaining() : (control.tutorial().active() || state.mode.disableWaveTimer) ? "$text.waiting" : Bundles.format("text.wave.waiting", (int) (state.wavetime / 60f))) - .minWidth(126).padLeft(-6).padRight(-12).left(); + .minWidth(126).padLeft(-6).left(); margin(10f); get().marginLeft(6); }}.left().end(); + add().growX(); + playButton(uheight); }}.height(uheight).fillX().expandX().end().get(); wavetable.getParent().getParent().swapActor(wavetable.getParent(), menu.getParent()); @@ -195,7 +212,7 @@ public class HudFragment implements Fragment{ private void playButton(float uheight){ new imagebutton("icon-play", 30f, () -> { state.wavetime = 0f; - }).height(uheight).fillX().right().padTop(-8f).padBottom(-12f).padRight(-36).width(40f).update(l->{ + }).height(uheight).fillX().right().padTop(-8f).padBottom(-12f).padLeft(-15).padRight(-10).width(40f).update(l->{ boolean vis = state.enemies <= 0 && (Net.server() || !Net.active()); boolean paused = state.is(State.paused) || !vis; diff --git a/core/src/io/anuke/mindustry/ui/fragments/MenuFragment.java b/core/src/io/anuke/mindustry/ui/fragments/MenuFragment.java index 8cc02fed83..03af96f574 100644 --- a/core/src/io/anuke/mindustry/ui/fragments/MenuFragment.java +++ b/core/src/io/anuke/mindustry/ui/fragments/MenuFragment.java @@ -97,8 +97,9 @@ public class MenuFragment implements Fragment{ //version info new table(){{ + visible(() -> state.is(State.menu)); abottom().aleft(); - new label(versionName + " " + versionMajor + "." + versionMinor + " " + versionType + " | build " + versionBuild); + new label(versionName + " " + versionMajor + "." + versionMinor + " " + versionType + " / build " + versionBuild); }}.end(); } }