From 49ee821029b0f01e8e13be1bad07d80166156b59 Mon Sep 17 00:00:00 2001 From: Anuken Date: Fri, 7 Jun 2019 15:03:01 -0400 Subject: [PATCH] More stuff fixed / Contributor list --- core/assets/contributors | 73 +++++++++++++++++++ core/src/io/anuke/mindustry/Vars.java | 3 - .../mindustry/editor/WaveInfoDialog.java | 27 ++----- .../io/anuke/mindustry/input/MobileInput.java | 2 +- .../io/anuke/mindustry/io/Contributors.java | 43 ----------- core/src/io/anuke/mindustry/io/JsonIO.java | 5 ++ .../mindustry/ui/dialogs/AboutDialog.java | 27 +++---- .../distribution/ExtendingItemBridge.java | 15 ++-- 8 files changed, 104 insertions(+), 91 deletions(-) create mode 100644 core/assets/contributors delete mode 100644 core/src/io/anuke/mindustry/io/Contributors.java diff --git a/core/assets/contributors b/core/assets/contributors new file mode 100644 index 0000000000..7b5fb43f46 --- /dev/null +++ b/core/assets/contributors @@ -0,0 +1,73 @@ +Prosta4okua +Timmeey86 +Epowerj +Baltazár Radics +Dexapnow +Milinai +키에르 +Luxray5474 +Leone25 +Gureumi +VizardAlpha +LQ +Commodore64x +iczero +Krzysztof Skrzętnicki +Baramos666 +theshadowknight +elmenda452 +Predator127 +Sonnicon +CinExPL +toushangyouxiang +xgamezs +Skybbles // L5474 +William So +beito +BeefEX +Lorex +laohuaji233 +CrazyBearTR +Zachary +Fenr1r +Jaiun Lee +Gab_351 +Carter Gale +Jan Polák +JustYanns +BasedUser +BLucky-gh +DinoWattz +Jae +angelickite +ScriptHosT12 +Senventise +SkeptiC +Deyvid67 +Damlon +DaGamerFiles +Trigg +Uriel +VXF +Valen. H +Valentin Sonin +Clarence "Sparr" Risher +bei2 +AceEllysium +Cedric L'homme +indielm +Ameb +player20033 +Ignacy +J-VdS +Kenny +L5474 +Franciszek Zaranowicz +Andreas Heiskanen +Doyoung Gwak +MMG +Math2128 +Michael Plotke +Niko +Paul T +Dominik \ No newline at end of file diff --git a/core/src/io/anuke/mindustry/Vars.java b/core/src/io/anuke/mindustry/Vars.java index 6c187799b9..a84cfefbe4 100644 --- a/core/src/io/anuke/mindustry/Vars.java +++ b/core/src/io/anuke/mindustry/Vars.java @@ -39,9 +39,6 @@ public class Vars{ public static final String discordURL = "https://discord.gg/mindustry"; /** URL for Github API for releases */ public static final String releasesURL = "https://api.github.com/repos/Anuken/Mindustry/releases"; - /** URL for Github API for contributors */ - //TODO remove and replace with a manually updated list - public static final String contributorsURL = "https://api.github.com/repos/Anuken/Mindustry/contributors"; /** URL for sending crash reports to */ public static final String crashReportURL = "http://mins.us.to/report"; /** maximum distance between mine and core that supports automatic transferring */ diff --git a/core/src/io/anuke/mindustry/editor/WaveInfoDialog.java b/core/src/io/anuke/mindustry/editor/WaveInfoDialog.java index f27aad6897..4a7945af2c 100644 --- a/core/src/io/anuke/mindustry/editor/WaveInfoDialog.java +++ b/core/src/io/anuke/mindustry/editor/WaveInfoDialog.java @@ -9,20 +9,17 @@ import io.anuke.arc.scene.ui.TextField.TextFieldFilter; import io.anuke.arc.scene.ui.layout.Table; import io.anuke.arc.util.*; import io.anuke.mindustry.Vars; -import io.anuke.mindustry.content.StatusEffects; -import io.anuke.mindustry.content.UnitTypes; -import io.anuke.mindustry.game.DefaultWaves; -import io.anuke.mindustry.game.SpawnGroup; +import io.anuke.mindustry.content.*; +import io.anuke.mindustry.game.*; import io.anuke.mindustry.graphics.Pal; -import io.anuke.mindustry.type.ContentType; -import io.anuke.mindustry.type.UnitType; +import io.anuke.mindustry.io.JsonIO; +import io.anuke.mindustry.type.*; import io.anuke.mindustry.ui.dialogs.FloatingDialog; import static io.anuke.mindustry.Vars.*; import static io.anuke.mindustry.game.SpawnGroup.never; public class WaveInfoDialog extends FloatingDialog{ - private final MapEditor editor; private final static int displayed = 20; private Array groups; @@ -33,15 +30,10 @@ public class WaveInfoDialog extends FloatingDialog{ public WaveInfoDialog(MapEditor editor){ super("$waves.title"); - this.editor = editor; shown(this::setup); hidden(() -> { - if(groups == null){ - editor.getTags().remove("waves"); - }else{ - editor.getTags().put("waves", world.maps.writeWaves(groups)); - } + state.rules.spawns = groups; }); keyDown(key -> { @@ -73,7 +65,7 @@ public class WaveInfoDialog extends FloatingDialog{ }).disabled(b -> Core.app.getClipboard().getContents() == null || Core.app.getClipboard().getContents().isEmpty()); dialog.cont.row(); dialog.cont.addButton("$settings.reset", () -> ui.showConfirm("$confirm", "$settings.clear.confirm", () -> { - groups = null; + groups = JsonIO.copy(DefaultWaves.get()); buildGroups(); dialog.hide(); })); @@ -82,10 +74,9 @@ public class WaveInfoDialog extends FloatingDialog{ } void setup(){ - groups = world.maps.readWaves(editor.getTags().get("waves")); + groups = JsonIO.copy(state.rules.spawns); cont.clear(); - cont.table("clear", main -> { main.pane(t -> table = t).growX().growY().get().setScrollingDisabled(true, false); main.row(); @@ -237,8 +228,6 @@ public class WaveInfoDialog extends FloatingDialog{ preview.clear(); preview.top(); - Array groups = (this.groups == null ? DefaultWaves.get() : this.groups); - for(int i = start; i < displayed + start; i++){ int wave = i; preview.table("underline", table -> { @@ -251,8 +240,6 @@ public class WaveInfoDialog extends FloatingDialog{ spawned[spawn.type.id] += spawn.getUnitsSpawned(wave); } - int f = 0; - for(int j = 0; j < spawned.length; j++){ if(spawned[j] > 0){ UnitType type = content.getByID(ContentType.unit, j); diff --git a/core/src/io/anuke/mindustry/input/MobileInput.java b/core/src/io/anuke/mindustry/input/MobileInput.java index 662ee53a0c..a4b741e1a8 100644 --- a/core/src/io/anuke/mindustry/input/MobileInput.java +++ b/core/src/io/anuke/mindustry/input/MobileInput.java @@ -435,7 +435,7 @@ public class MobileInput extends InputHandler implements GestureListener{ TargetTrait target = player.target; //draw targeting crosshair - if(target != null){ + if(target != null && !state.isEditor()){ if(target != lastTarget){ crosshairScale = 0f; lastTarget = target; diff --git a/core/src/io/anuke/mindustry/io/Contributors.java b/core/src/io/anuke/mindustry/io/Contributors.java deleted file mode 100644 index 13e3a3dad1..0000000000 --- a/core/src/io/anuke/mindustry/io/Contributors.java +++ /dev/null @@ -1,43 +0,0 @@ -package io.anuke.mindustry.io; - -import io.anuke.arc.collection.Array; -import io.anuke.arc.function.Consumer; -import io.anuke.arc.util.serialization.JsonReader; -import io.anuke.arc.util.serialization.JsonValue; -import io.anuke.mindustry.net.Net; - -import static io.anuke.mindustry.Vars.contributorsURL; - -public class Contributors{ - - public static void getContributors(Consumer> success, Consumer fail){ - Net.http(contributorsURL, "GET", result -> { - JsonReader reader = new JsonReader(); - JsonValue value = reader.parse(result).child; - Array out = new Array<>(); - - while(value != null){ - String login = value.getString("login"); - out.add(new Contributor(login)); - value = value.next; - } - - success.accept(out); - }, fail); - } - - public static class Contributor{ - public final String login; - - public Contributor(String login){ - this.login = login; - } - - @Override - public String toString(){ - return "Contributor{" + - "login='" + login + '\'' + - '}'; - } - } -} diff --git a/core/src/io/anuke/mindustry/io/JsonIO.java b/core/src/io/anuke/mindustry/io/JsonIO.java index 064e97cbd8..889ab0e9c5 100644 --- a/core/src/io/anuke/mindustry/io/JsonIO.java +++ b/core/src/io/anuke/mindustry/io/JsonIO.java @@ -7,6 +7,7 @@ import io.anuke.mindustry.game.Rules; import io.anuke.mindustry.game.SpawnGroup; import io.anuke.mindustry.type.*; +@SuppressWarnings("unused") public class JsonIO{ private static Json json = new Json(){{ setIgnoreUnknownFields(true); @@ -42,6 +43,10 @@ public class JsonIO{ return json.toJson(object); } + public static T copy(T object){ + return read((Class)object.getClass(), write(object)); + } + public static T read(Class type, String string){ return json.fromJson(type, string); } diff --git a/core/src/io/anuke/mindustry/ui/dialogs/AboutDialog.java b/core/src/io/anuke/mindustry/ui/dialogs/AboutDialog.java index 6ac0fab053..0ba3aaddd4 100644 --- a/core/src/io/anuke/mindustry/ui/dialogs/AboutDialog.java +++ b/core/src/io/anuke/mindustry/ui/dialogs/AboutDialog.java @@ -1,35 +1,28 @@ package io.anuke.mindustry.ui.dialogs; import io.anuke.arc.Core; -import io.anuke.arc.collection.Array; -import io.anuke.arc.collection.ObjectSet; +import io.anuke.arc.collection.*; import io.anuke.arc.graphics.Color; import io.anuke.arc.scene.ui.ScrollPane; -import io.anuke.arc.scene.ui.layout.Cell; -import io.anuke.arc.scene.ui.layout.Table; +import io.anuke.arc.scene.ui.layout.*; import io.anuke.arc.util.*; import io.anuke.mindustry.graphics.Pal; -import io.anuke.mindustry.io.Contributors; -import io.anuke.mindustry.io.Contributors.Contributor; import io.anuke.mindustry.ui.Links; import io.anuke.mindustry.ui.Links.LinkEntry; -import static io.anuke.mindustry.Vars.ios; -import static io.anuke.mindustry.Vars.ui; +import static io.anuke.mindustry.Vars.*; public class AboutDialog extends FloatingDialog{ - private Array contributors = new Array<>(); + private Array contributors = new Array<>(); private static ObjectSet bannedItems = ObjectSet.with("google-play", "itch.io", "dev-builds", "trello"); public AboutDialog(){ super("$about.button"); - if(!ios){ - shown(() -> Contributors.getContributors(out -> { - contributors = out; - Core.app.post(this::setup); - }, Throwable::printStackTrace)); - } + shown(() -> { + contributors = Array.with(Core.files.internal("contributors").readString().split("\n")); + Core.app.post(this::setup); + }); shown(this::setup); onResize(this::setup); @@ -112,8 +105,8 @@ public class AboutDialog extends FloatingDialog{ dialog.cont.pane(new Table(){{ int i = 0; left(); - for(Contributor c : contributors){ - add("[lightgray]" + c.login).left().pad(3).padLeft(6).padRight(6); + for(String c : contributors){ + add("[lightgray]" + c).left().pad(3).padLeft(6).padRight(6); if(++i % 3 == 0){ row(); } diff --git a/core/src/io/anuke/mindustry/world/blocks/distribution/ExtendingItemBridge.java b/core/src/io/anuke/mindustry/world/blocks/distribution/ExtendingItemBridge.java index 4f145022c7..3889a8078a 100644 --- a/core/src/io/anuke/mindustry/world/blocks/distribution/ExtendingItemBridge.java +++ b/core/src/io/anuke/mindustry/world/blocks/distribution/ExtendingItemBridge.java @@ -5,8 +5,7 @@ import io.anuke.arc.math.Mathf; import io.anuke.arc.math.geom.Geometry; import io.anuke.mindustry.world.Tile; -import static io.anuke.mindustry.Vars.tilesize; -import static io.anuke.mindustry.Vars.world; +import static io.anuke.mindustry.Vars.*; public class ExtendingItemBridge extends ItemBridge{ @@ -27,8 +26,10 @@ public class ExtendingItemBridge extends ItemBridge{ float ex = other.worldx() - tile.worldx() - Geometry.d4[i].x * tilesize / 2f, ey = other.worldy() - tile.worldy() - Geometry.d4[i].y * tilesize / 2f; - ex *= entity.uptime; - ey *= entity.uptime; + float uptime = state.isEditor() ? 1f : entity.uptime; + + ex *= uptime; + ey *= uptime; Lines.stroke(8f); Lines.line(bridgeRegion, @@ -49,10 +50,10 @@ public class ExtendingItemBridge extends ItemBridge{ Draw.color(); for(int a = 0; a < arrows; a++){ - Draw.alpha(Mathf.absin(a / (float)arrows - entity.time / 100f, 0.1f, 1f) * entity.uptime); + Draw.alpha(Mathf.absin(a / (float)arrows - entity.time / 100f, 0.1f, 1f) * uptime); Draw.rect(arrowRegion, - tile.worldx() + Geometry.d4[i].x * (tilesize / 2f + a * 6f + 2) * entity.uptime, - tile.worldy() + Geometry.d4[i].y * (tilesize / 2f + a * 6f + 2) * entity.uptime, i * 90f); + tile.worldx() + Geometry.d4[i].x * (tilesize / 2f + a * 6f + 2) * uptime, + tile.worldy() + Geometry.d4[i].y * (tilesize / 2f + a * 6f + 2) * uptime, i * 90f); } Draw.reset(); }